举个栗子:修改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');
}
);