猿问

jQuery中给选择器传入this,即$(this),请问jQuery是怎么返回的这个jQuery

例如


<div id="box">**</div>

$("#box").click(function(){

   $(this).css({color:red})

})

我们知道此时$(this)指的是jq对象,此时console.log($(this))输出[div#box],

请问jQuery在内部是怎么把$(this)和上下文联系起来的

不知道有没有把我的问题描述清楚~~


慕工程0101907
浏览 1605回答 1
1回答

Cats萌萌

首先要理解的是js中函数的this是指向调用这个函数的对象,在jq里面,在一个对象上调用一个方法并引入一个匿名函数作为参数时,jq会将函数中的this指向到其触发的原生节点对象上,这里就比如#box节点。然后$()是jq将原生节点对象包装为jq对象,使其能够使用各类的jq方法。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答