【发布时间】:2016-12-20 17:57:48
【问题描述】:
“this-keyword”在这种情况下指的是什么:
jQuery.fn.m=function (){
console.log(this == $("#diveins")); // gives a false what does it reference to?
};
$("#diveins").m();
【问题讨论】:
标签: jquery prototype this keyword
“this-keyword”在这种情况下指的是什么:
jQuery.fn.m=function (){
console.log(this == $("#diveins")); // gives a false what does it reference to?
};
$("#diveins").m();
【问题讨论】:
标签: jquery prototype this keyword
在 jQuery 方法中,this 是您调用该方法的 jQuery 集合。所以在你的例子中,它是$("#diveins")返回的集合。
您获得false 的原因是因为每次您拨打$("#diveins") 时都会获得一个新集合。如果你写:
console.log($("#diveins") == $("#diveins"));
它还会显示false。
您可以使用this.is("#diveins")。如果您只是在寻找单个元素,这将起作用——似乎没有一种简单的方法来比较 jQuery 集合。
jQuery.fn.m=function (){
console.log(this.is("#diveins"));
};
$("#diveins").m();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="diveins"></div>
【讨论】: