jQuery中$(this)
和this
之间有什么区别?这有两种不同的用法:
$(document).ready(function() {
$("#orderedlist").find("li").each(function(i) {
$(this).append( " BAM! " + i );
});
});
$(document).ready(function() {
// use this to reset several forms at once
$("#reset").click(function() {
$("form").each(function() {
this.reset();
});
});
});
答案 0 :(得分:10)
“this”变量引用(在这种情况下为您提供的事件处理程序)到DOM元素。因此$(this)是一个只包含一个DOM元素的jQuery对象。
当本机DOM API足够时,你应该使用普通的“this”,当你需要jQuery的帮助时,你应该使用$(this)。你的第二个例子是一个很好的例证;另一个可能是你只需要一个元素的“id”或“name”。
答案 1 :(得分:9)
不同之处在于this
本身是对事件所作用的dom对象的引用。 $(this)
正在从该dom对象创建一个jquery对象。
编辑:所以使用DOM对象,您将无法访问所有jquery添加的功能,而只能访问dom允许的内容。基本上你可以认为this
本身就像你document.getElementById(id)
答案 2 :(得分:8)
$(this)
是一个jquery对象,而this
是指本机dom对象