jQuery中this与$(this)的区别
时间:2010-12-03 来源:小乐爱豆豆
Error Code:
Js代码- $("#textbox").hover(
- function() {
- $(this).title = "Test";
- },
- function() {
- $(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");
- }
- );
$("#textbox").hover( function() { $(this).attr("title", "Test"); }, function() { $(this).attr("title", "OK"); } );
使用jQuery的好处是它包装了各种浏览器版本对DOM对象的操作,因此统一使用$(this)而不再用this应该是比较不错的选择。
让我来一语道破区别吧:只要不犯"法",就是正确的。$(this)只能使用jquery相关的属性和方法,this只能使用js相关的属性和方法,都表示当前对象,但是各用各的资源,各搂各的老婆,别乱出墙拈花惹草。
相关阅读 更多 +