‘$(This)’和‘this’之间有什么区别?

‘$(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元素添加到jQuery对象中,jQuery对象可以理解append()函数,而在第二个示例中reset()可以直接在表单上调用。

基本上我们需要$()对于专用的jQuery函数。

这是对的吗?


紫衣仙女
浏览 466回答 4
4回答

喵喵时光机

是的,你只需要$()当您使用jQuery时。如果您希望jQuery帮助完成DOM工作,请记住这一点。$(this)[0] === this基本上,每次返回一组元素时,jQuery都会将其转换为jQuery对象..如果您知道您只有一个结果,它将在第一个元素中。$("#myDiv")[0] === document.getElementById("myDiv");以此类推.。

忽然笑

$()是jQuery构造函数。this是对调用的DOM元素的引用。所以基本上,在$(this),你只是路过this在……里面$()作为参数,以便可以调用jQuery方法和函数。

料青山看我应如是

是的,你需要$(this)对于jQuery函数,但是当您想访问不使用jQuery的元素的基本javascript方法时,只需使用this.

当年话下

使用时jQuery,建议使用$(this)通常。但是,如果你知道(你应该学习和知道)两者的区别,有时使用起来就更方便、更快了。this..例如:$(".myCheckboxes").change(function(){      if(this.checked)         alert("checked"); });比$(".myCheckboxes").change(function(){        if($(this).is(":checked"))           alert("checked"); });
打开App,查看更多内容
随时随地看视频慕课网APP