JQuery -- this 和 $(this) 的区别

来源:互联网 发布:百度大数据交响乐 编辑:程序博客网 时间:2024/05/01 07:45

举个栗子:修改div里文本内容的颜色

<div id="box">DearMorning的博客</div>

①this,其实指向一个Html 元素。这里的this指向的box有Style对象属性,所以下面这样写是没有问题的。但是如果将this换成$(this)就Error了。

$("#box").hover( function() { this.style.color='red';});

②$(this),这里的$(this)是一个JQuery对象,而jQuery是一个类数组对象Array[element,element,.....],所以也就沒有style对象属性,因此这样写是错误

Error Code:

$("#box").hover( function() { $(this).style.color='red';//报错“Cannot set property 'color' of undefined”});

③$(this),可以将JQuery对象转化为DOM对象,再使用style对象属性

Right Code:

$("#box").hover( function() { $(this)[0].style.color='red'; //转化成DOM对象//$(this).get(0).style.color='red'; //通过get方法,转化成DOM对象});

④总结:DOM对象就是一个单独的DOM元素,jQuery是一个类数组对象

还可以用jQuery的方式更改对象属性

$("#box").hover( function(){$(this).css('color','red');});


0 0