在jQuery中编写JavaScript时最好这样做:
$('.select').click(function(e){
$(this).something();
//Or
this.something();
});
有什么区别吗?两种方式的优点和缺点是什么?
答案 0 :(得分:3)
他们完全不同。两者都没有“更好”,你无法比较它们的优缺点。一个是jQuery对象,一个是原始HTML元素。
答案 1 :(得分:3)
$(this)
是一个jQuery对象,this
是一个纯DOM元素对象。见这个例子:
$(".test").click(function(){
alert($(this).text());
//and
alert(this.text()); // error no method
});
答案 2 :(得分:1)
其他答案是正确的,但是我想补充说this
在$.fn.function
的上下文中也引用了jQuery对象。
例如:
$.fn.function = function() {
this.width();
}
答案 3 :(得分:0)
在事件处理程序this
的jquery的回调范围内是纯元素。
$(this)
会将其再次包装到jquery实例
所以结果非常不同,它只取决于你需要什么......
答案 4 :(得分:0)
this
和$(this)
会给出不同的结果,因为$(this)
是jQuery实例,this
是HTML元素。