, что делает «это-ключевое слово» ссылка в этом контексте:«это» -ключевое слово для объекта JQuery
jQuery.fn.m=function(){
console.log(this == $("#diveins")); // gives a false what does it reference to?
};
$("#diveins").m();
, что делает «это-ключевое слово» ссылка в этом контексте:«это» -ключевое слово для объекта JQuery
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>
Возможный дубликат [Как "это" ключевое слово работа?] (Http://stackoverflow.com/questions/3127429/how-does-the-this-keyword-work) – Hosch250