jQuery中this与$(this)的使用与区别
https://blog.csdn.net/h2604396739/article/details/95191644
this与$(this)的区别
this其实是一个Html 元素,是一个javascript对象,常用其来为其属性赋值。
$(this)是一个jQuery对象,不存在html的属性,只能通过方法传参的方式为属性赋值。
如下代码
$(“#textbox”).hover(
function() {
this.title = “Test”;
},
fucntion() {
this.title = “OK”;
}
);
错误代码:
(“#textbox”).hover(
function() {
$(this).title = “Test”;
},
function() {
$(this).title = “OK”;
}
);
这里的(this)是一个JQuery对象,而jQuery对象沒有title 属性,因此这样写是错误的。
JQuery拥有attr()方法可以get/set DOM对象的属性,所以正确的写法应该是这样:
正确的代码:
(“#textbox”).hover(
function() {(this).attr(’title’, ‘Test’);
},
function() {
$(this).attr(’title’, ‘OK’);
}
);
在jQuery中使用$(this)代替this的原因:
使用jQuery的好处是它包裝了各种浏览器版本对DOM对象的操作,因此统一使用$(this)而不再用this应该是比较不错的选择。
this使用实例
<tr><td><a οnclick="deleteTr(this)">删除</a></td></tr>
// 下面函数用与删除整个tr
function deleteTr(aTag){
$(aTag).parent().parent().remove();
}