Jquery中的$(this)和JS中的this的差别

来源:互联网 发布:秋冬用水乳 知乎 编辑:程序博客网 时间:2024/05/21 08:40

很多人对$(this)和this的用法和区别傻傻分不清楚,今天我们就一起来研究一下

首先$(this)是Jquery中的对象,而this是html中的元素,他相当于一个指针。

我们先写html元素
<ul>    <li value="1">1</li>    <li value="2">2</li>    <li value="3" title="Leon">3</li>    <li value="4">4</li>    <li value="5">5</li></ul>
js代码
$('li').click(function(){    console.log(this);    console.log(this.value);    console.log($(this));})
当我们点击第三个li时,各个值分别如下
    //<li value="3">3</li>    //3    //[li, context: li]

所以说this是html中返回的类集合([object HTMLImageElement]),而$(this)返回的是Jquery的集合([object Object ])

这就很明白了,就是当我们有这种方法的时候,我们才会去用。比如我们不能用$(this).value 去获得li的value值,是因为这不符合Jquery的语法,同样的我们也不能用this.attr(‘title’,’Leon’),因为js原生里面也没有这种方法。