可能重复:
jQuery $(this) vs this
我是新手,并试图让我的观念正确。有许多使用“this
”和“$(this)
”的情况。有人可以解释我们使用两个不同的“这个”的区别和条件吗?
答案 0 :(得分:27)
在jQuery函数中,this
通常是指你正在处理的实际DOM元素,而$(this)
返回一个包装元素的jQuery对象。
在JavaScript中,this
始终引用当前范围。 jQuery的许多函数都会将该范围设置为您正在使用的元素。
例如
$("#someElement").click(function() {
this; // the element itself
$(this); // a jQuery wrapper-object around the element
});
关键是,jQuery对象具有所有jQuery函数(如.detatch()
或.prependTo()
等),而DOM元素是浏览器提供的。在上面的示例中,如果您调用document.getElementById("someElement")
答案 1 :(得分:8)
$(this)
引用jquery对象,this
引用当前范围中的this
答案 2 :(得分:4)
$(this)
是一个jQuery对象。 this
是指当前范围内this
的值。当您想要将触发事件的元素转换为jQuery对象时,通常在回调中使用$(this)
。您可以对几乎任何DOM元素执行此操作,因此$(document.getElementById("#myElement"))
也是有效的,并且是一个jQuery对象,它表示ID为“myElement”的DOM元素。