jQ-Version: jquery-1.7.2.js
<div id="box">test</div>
<script> $(function(){ $('#box').click(function(){ //alert(this.html()); // 报错 alert(this.innerHTML);// test alert($(this).html()); // test }); });</script>
Entschuldigung, nachdem ich es über $('#box') bekommen habe, habe ich Habe es jQueryobject, warum entspricht dies einem DOM-Objekt, aber $(this) ist ein jQuery-Objekt? Danke!
Sie müssen wissen, dass es js ohne jquery gibt und dass es keine jquery ohne js gibt. Das ist der Stoff von js. Dies in der -Funktion-Ausführungsumgebung gehört zu nativem js. Wie kann es Sie auf das jquery-Objekt verweisen? Das Tragen der Weste $(this) ist das JQuery-Objekt.
this bezieht sich auf als Umgebungsobjekt für die Funktionsausführung. Bei einem globalen Aufruf ist dies beispielsweise window. Dies wird also nicht von $("#box") zurückgegeben, es ist kein JQ-Objekt, sondern das Dom-Objekt des Div, das diese Funktion aufruft. Bitte verstehen Sie dies sorgfältig. Das Tippen auf einem Mobiltelefon ist sehr schwierig. Wenn Sie morgen immer noch etwas nicht verstehen, wird angezeigt, dass
$('#box') das JQuery-Objekt zurückgegeben hat Bitte beachten Sie, dass dieser Schritt für
var $box = $('#box'); $box.click(function(){ //TODO});
nichts mit dem von Ihrem Code erhaltenen Objekt zu tun hat um ein -Ereignis an dieses DOM zu binden, ist dies nur das DOM
Sehen Sie sich den folgenden Code an, um das Objekt, das das Ereignis ausgelöst hat, über das Ereignisobjekt abzurufen:
Das obige ist der detaillierte Inhalt vonjQuery: Problemlösung mit dieser Methode in click(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!