"this"-jQuery 对象的关键字
"this"-keyword for a jQuery object
"this-keyword" 在此上下文中指的是什么:
jQuery.fn.m=function (){
console.log(this == $("#diveins")); // gives a false what does it reference to?
};
$("#diveins").m();
在 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>
"this-keyword" 在此上下文中指的是什么:
jQuery.fn.m=function (){
console.log(this == $("#diveins")); // gives a false what does it reference to?
};
$("#diveins").m();
在 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>