JQuery对象

$对象

  说起jQuery,最明显的标志,毫无疑问,就是美元符号$,美元符号$其实是jquery的简写。而使用$()包装的对象就是jQuery对象

  与jQuery对象相对应的就是DOM对象,DOM对象其实就是DOM元素节点对象

  如果直接写document,则指的是document的DOM元素对象

document.onclick = function(){
    alert('dom');
}

  而如果用$()包括起来,如$(document),是jQuery(document)的简写形式,则指的是jQuery对象

<script src="jquery-3.1.0.js"></script>    
<script>
    console.log(jQuery(document));//[document]
    console.log($(document));//[document]
    console.log(document);//#document
</script>

  [注意]jQuery对象无法使用DOM对象的方法,DOM对象也无法使用jQuery对象的方法

<script src="jquery-3.1.0.js"></script>    
<script>
    //无反应
    $(document).onclick = function(){
        alert(0);
    };
    //Uncaught TypeError: document.click is not a function
    document.click(function(){
        alert(1);
    });
</script>

 

转换

【1】DOM转jQuery对象

  对于一个jQuery对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象

【2】jQuery转DOM对象

  jQuery是一个类数组对象,可以通过[index]或get(index)的方法得到相应的DOM对象

console.log(document === $(document)[0]);//true
console.log(document === $(document).get(0));//true

 

共存

  如果jQuery对象和DOM对象指向同一对象,绑定不同函数,则函数会按照顺序依次执行

//先弹出0,再弹出1
document.onclick = function(){
    alert(0);
}
$(document).click(function(){
    alert(1);
});

 

不报错

  如果使用DOM对象,为不存在的DOM对象设置样式会报错

//Uncaught TypeError: Cannot read property 'style' of null
document.getElementById('test').style.color = 'red';

  而使用jQuery对象,为不存在的jQuery对象设置样式不会报错

$('#test').css('color','red');

 

判断存在

  一般地,DOM对象在使用之前需要判断存在,防止出错

if(document.getElementById('#test')){
    document.getElementById('#test').style.color = 'red';
}

  对于jQuery对象来说,因为$()获取到的永远是对象,即使网页上没有该元素。所以不能采用下面方式判断

if($(#test)){
    //
}

  应该根据获取到元素的长度来判断

if($(#test).length){
    //
}

  或者转换成DOM对象来判断

if($(#test)[0]){
    //
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值