为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

紫衣仙女 2019-06-01 16:42:22
‘$(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函数。这是对的吗?
查看完整描述

4 回答

?
喵喵时光机

TA贡献1846条经验 获得超7个赞

是的,你只需要$()当您使用jQuery时。如果您希望jQuery帮助完成DOM工作,请记住这一点。

$(this)[0] === this

基本上,每次返回一组元素时,jQuery都会将其转换为jQuery对象..如果您知道您只有一个结果,它将在第一个元素中。

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

以此类推.。


查看完整回答
反对 回复 2019-06-01
?
忽然笑

TA贡献1806条经验 获得超5个赞

$()是jQuery构造函数。

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

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


查看完整回答
反对 回复 2019-06-01
?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

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


查看完整回答
反对 回复 2019-06-01
?
当年话下

TA贡献1890条经验 获得超9个赞

使用时jQuery,建议使用$(this)通常。但是,如果你知道(你应该学习和知道)两者的区别,有时使用起来就更方便、更快了。this..例如:

$(".myCheckboxes").change(function(){ 
    if(this.checked) 
       alert("checked"); });

$(".myCheckboxes").change(function(){ 
      if($(this).is(":checked")) 
         alert("checked"); });


查看完整回答
反对 回复 2019-06-01
  • 4 回答
  • 0 关注
  • 465 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信