这对vs(这个)

时间:2011-09-20 02:03:06

标签: javascript jquery this

  

可能重复:
  jQuery $(this) vs this

我是新手,并试图让我的观念正确。有许多使用“this”和“$(this)”的情况。有人可以解释我们使用两个不同的“这个”的区别和条件吗?

3 个答案:

答案 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元素。