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

举个栗子:修改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
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值