jQuery中this和$(this)的区别是什么?


本文摘自PHP中文网,作者青灯夜游,侵删。

区别:this表示当前的上下文对象是一个html DOM对象,可以调用html对象所拥有的属性和方法;而“$(this)”代表的上下文对象是一个jquery的上下文对象,可以调用jquery的方法和属性值。

相关推荐:《jQuery视频教程》

jquery中this与$(this)的用法区别.先看以下代码:

1

2

3

4

5

6

$("#textbox").hover(

    function() {

        this.title = "Test";  },

    fucntion() {

        this.title = "OK”;  }

);

这里的this其实是一个Html 元素(textbox),textbox有text属性,所以这样写是完全没有什么问题的。 但是如果将this换成$(this)就不是那回事了,就会报错了。 以下写法是错误的:

1

2

3

4

5

6

$("#textbox").hover(

    function() {

        $(this).title = "Test";  },

    function() {

        $(this).title = "OK";  }

);

这里的$(this)是一个JQuery对象,而jQuery对象?]有title 属性,因此这样写是错误的。 JQuery拥有attr()方法可以get/set DOM对象的属性,所以正确的写法应该是这样:

1

2

3

4

5

6

7

8

$("#textbox").hover(

    function() {

        $(this).attr('title', 'Test');

    },

    function() {

        $(this).attr('title', 'OK');

    }

);

使用JQuery的好处是它包?b了各种浏览器版本对DOM对象的操作,因此统一使用$(this)而不再用this应该是比较不错的选择。

$()生成的是什么呢?实际上$()=jquery(),那么也就是说返回的是一个jquery的对象。

$(this)jquery对象,能调用jquery的方法,例如click(), keyup()

1

2

3

4

5

6

$(function () {

    $('button').click(function () {

       alert(this);//this 表示原生的DOM

       //$(this)表示当前对象,这里指的是button

   })

});

结论:
this,表示当前的上下文对象是一个html DOM对象,可以调用html对象所拥有的属性,方法。
$(this),代表的上下文对象是一个jquery的上下文对象,可以调用jquery的方法和属性值。

更多编程相关知识,请访问:编程学习!!

以上就是jQuery中this和$(this)的区别是什么?的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

不同的jQuery版本冲突怎么办

jQuery用什么方法清空input值

不同版本jQuery冲突怎么解决?

jq如何改变css样式

jQuery如何获取文本框的值?

jQuery怎么获取焦点?

jQuery有哪些选择器

如何判断jQuery对象是input还是select

jQuery怎么获取元素的坐标?

jQuery如何设置行不同的颜色

更多相关阅读请进入《jQuery》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...