$(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的对象。