2010-07-29 16 views
7

jQuery标签$(this)如何正确工作?我知道如何使用它,但jQuery如何知道哪个元素是“活动”的?什么是获取当前项目的原始Javascript标记,还是只有jQuery?

+7

@qor你链接到当前的问题,所以是 – 2010-07-29 14:12:23

+0

很高兴看到SO保护关闭一个问题,因为它是自己的副本 - 虽然有些网站不会;) – Konerak 2010-07-29 14:16:59

+0

可能重复的[为什么我必须使用$(this)](http://stackoverflow.com/questions/3316113/why-do-i-have-to-use-this) – jAndy 2010-07-29 14:20:09

回答

7

this是一个简单的JavaScript(DOM)对象阅读范围, $(this)将会把对象变成一个jQuery对象。

的jQuery并不需要“知道”什么this是,它并不以特殊的方式比myHeaderDiv

var myHeaderDiv = document.getElementById('header'); 
$myHeaderDiv = $(myheaderDiv); //just a variable transformed into jQuery object, as with this. 
4

this对待这一点,没有其他的是依赖于上下文jQuery的(和JavaScript一般来说)。它通常表示事件处理程序中的当前DOM元素,但不是jQuery对象。

$(this)是一个包含当前DOM元素的jQuery对象。

3

表达式$(this)只是一个常规的Javascript函数调用,相当于jQuery(this)this值由Javascript本身定义,并不是jQuery发明。

相关问题