小编典典

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

all

我目前正在学习本教程: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-only 函数。

它是否正确?


阅读 96

收藏
2022-03-08

共1个答案

小编典典

$()是的,只有在使用 jQuery时才需要。如果你想要 jQuery 的帮助来做 DOM 事情,请记住这一点。

$(this)[0] === this

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

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

等等…

2022-03-08