jquery中this 和 $this 的区别

jQuery中this与$(this)的区别

  1. $(“#textbox”).hover(
  2.       function() {
  3.            this.title = “Test”;
  4.       },
  5.       fucntion() {
  6.           this.title = “OK”;
  7.       }
  8. );

这里的this其实是一个Html 元素(textbox),textbox有title属性,所以这样写是完全没有什么问题的。
但是如果将this换成$(this)就不是那回事了,Error–报了。this与$(this)的区别在此。

  1. Error Code:
  2. $(“#textbox”).hover(
  3.        function() {
  4.           $(this).title = “Test”;
  5.        },
  6.        function() {
  7.           $(this).title = “OK”;
  8.        }
  9. );

这里的$(this)是一个JQuery对象,而jQuery对象沒有title 属性,因此这样写是错误的。

JQuery拥有attr()方法可以get/set DOM对象的属性,所以正确的写法应该是这样:

正确的代码:

  1. $(“#textbox”).hover(
  2.       function() {
  3.          $(this).attr(’title’, ‘Test’);
  4.       },
  5.       function() {
  6.          $(this).attr(’title’, ‘OK’);
  7.       }
  8. );

标签