DOM对象和jQuery对象

以下内容引用于《锋利的jQuery》。

1- 什么是DOM对象?
文档对象模型(DOM,Document Object Model)。
每一份DOM都可以表示一颗树,如下图:
这里写图片描述

在这颗DOM树中,< h3 >、< p >、< ul >、< li >都是DOM元素节点。我们可以通过JavaScript中的getElementsByTagName来获取它们。像这样通过getElementsByTagName 和 getElementById得到的DOM元素就是DOM对象。DOM对象可以使用JavaScript中方法。如:

var domObj = document.getElementById("id");  //获取DOM对象
var ObjHTML = domObj .innerHTML;             //使用JavaScript中的方法

2- 什么是jQuery对象?
jQuery对象是通过jQuery包装DOM对象后产生的对象。
jQuery对象是jQuery独有的。如果一个对象是jQuery对象,那么它就可以使用jQuery里的方法。
如:

$("#id").html();       //获取元素内的html代码,.html()是jQuery里的方法。

这段代码等价于:

document.getElementById("id").innerHTML

3- 重点
jQuery对象无法使用DOM对象的任何方法。比如 $(“#id”).innerHTML、$(“#id”).checked之类的写法是错误的。
同样,DOM对象也不能使用jQuery里的方法。比如document.getElementById(“id”).html()写法是错误的。


4- jQuery对象和DOM对象的相互转换

  • jQuery对象转成DOM对象
    提供两种方式来将一个 jQuery对象转换成DOM对象:[index] 和 .get(index)。

1) jQuery对象是一个数组对象,可以通过[index]的方法,来得到相应的DOM对象。

var x = $("#id");        //jQuery对象
var xDOM = x[0];         //DOM对象

2) 另一种方式是jQuery本身提供的,通过.get(index)方法,来得到相应的DOM对象。

var x = $("#id");       //jQuery对象
var xDOM = x.get(0);    //DOM对象
  • DOM对象转成 jQuery对象
    对于DOM对象,我们只需要用$()把DOM对象包装起来,就可以获得jQuery对象了。
var x = document.getElementById("id");      //DOM对象
var xjQuery = $(x);                         //jQuery对象

5- 实例
选中复选框后,提示已经选中。
html代码:

<input type="checkbox" id="my">
<label for="my">我已经阅读了条款。</label>

DOM的判断方式:

    $("#my").click(function () {
        var x = $("#my");    //jQuery对象,或者使用$(this)
        var xDOM = x[0];     //DOM对象
        if (xDOM.checked)    //DOM方式判断
            alert("感谢阅读!");
    });

jQuery中的判断方式:

    $("#my").click(function () {
        var x = $("#my");           //jQuery对象,或者使用$(this)
        if (x.is("input:checked"))  //jQuery中的方式判断
            alert("感谢阅读!");
    });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值