jQuery:'$(this)'和'this'有什么区别?

我目前正在通过本教程:jQuery入门

对于以下两个示例:

$("#orderedlist").find("li").each(function (i) {
    $(this).append(" BAM! " + i);
});
$("#reset").click(function () {
    $("form").each(function () {
        this.reset();
    });
});

注意在第一个例子中,我们使用$(this)在每个li元素的内部添加一些文本。 在第二个例子中,我们直接在重置表单时使用this

$(this)似乎比this更频繁地被使用。

我的猜测是在第一个例子中, $()将每个li元素转换为了解append()函数的jQuery对象,而在第二个例子中,可以直接在窗体上调用reset()

基本上我们需要$()用于特殊的jQuery专用功能。

它是否正确?


是的,当你使用jQuery时,你只需要$()。 如果你想让jQuery帮忙做DOM,只要记住这一点。

$(this)[0] === this

基本上每次你得到一组元素后,jQuery将它变成一个jQuery对象。 如果你知道你只有一个结果,它将在第一个元素。

$("#myDiv")[0] === document.getElementById("myDiv");

等等...


$()是jQuery的构造函数。

this是对调用的DOM元素的引用。

所以基本上,在$(this) ,您只是将this作为参数传递给$() ,以便您可以调用jQuery方法和函数。


是的,您需要$(this)用于jQuery函数,但是当您想要访问不使用jQuery的基本javascript方法时,您可以使用this

链接地址: http://www.djcxy.com/p/19531.html

上一篇: jQuery: What's the difference between '$(this)' and 'this'?

下一篇: jQuery $(document).ready and UpdatePanels?