$(this)和jquery中的这个区别

使用$(this)和this之间的根本区别是什么?

$('.viewComments').click(function(ev){ //returns the desired value alert(this.getAttribute('id')); //Gives an error sayin function is not defined alert($(this).getAttribute('id')); //returns the desired value alert($(this).attr('id')); }); 

我认为是“$(this)”将包含“this”所具有的所有function以及更多..但似乎并非如此。

那么究竟是$(this)呢? 和

我是否知道当我使用它时有什么function? (我知道我可以通过萤火虫,但我想知道是否有其他的方式 – 一些文件可能是)

this是DOM对象,而$(this)是围绕它的jQuery包装器。

当使用this ,你可以调用DOM方法,但不是jQuery方法。 当使用$(this) ,你可以调用jQuery方法,而不是DOM方法。

$(this) – 表示当前的DOM元素在哪个事件中被调用

这个关键字 – 在JavaScript中,这总是指我们正在执行的函数的“所有者”,或者更确切地说,是指函数是一个方法的对象。

在jQuery中,这指的是DOM对象, $(this )指向相同的对象,但添加了jQuery方法

你不能调用this.each()因为每个不是一个DOM方法,它是一个jQuery的方法

你可以调用$(this).each()因为$(this)返回一个jquery对象

以下是您可能会发现的两篇文章:

这是什么? 通过Mike Alsup

jQuery的这个: Remy Sharp 揭秘

$(this)是使用附加到对象的jQueryselect器或事件select的当前对象。

所以如果你有$('#myelement').click(..... $(this) referes被单击的元素,以便$(this).hide()隐藏该元素。

在jQuery中,$()表示法是jQueryselect器的缩写,所以如果你说$(this),你就是要求jQuery重新select你的对象。 然后你有通常的jQuery函数可用。 “this”是由外部jQuery调用select的对象。