Jquery 对象跟Dom对象(js) 详细介绍

Jquery 对象和Dom对象(js) 详细介绍

                                                   jQuery 对象和 DOM 对象的区别
    我们在做网页设计的时候经常听说 DOM 对象和 jQuery 对象,到底二者有什么样的区 别和联系呢,下面我们针对两者做了一些简要的总结: jQuery 对象和 DOM 对象使用说明,需要的朋友可以参考下。

1.jQuery 对象和 DOM 对象

     第一次学习 jQuery,经常分辨不清哪些是 jQuery 对象,哪些是 DOM 对象,因此需要重点了 解 jQuery 对象和 DOM 对象以及它们之间的关系. DOM 对象,即是我们用传统的方法(javascript)获得的对象,jQuery 对象即是用 jQuery 类 库的选择器获得的对象; 复制代码 代码如下:

 

var domObj = document.getElementById("id"); //DOM 对象

var $obj = $("#id"); //jQuery 对象;

jQuery 对象就是通过 jQuery 包装 DOM 对象后产生的对象,它是 jQuery 独有的。如果一个 对象是 jQuery 对象,那么就可以使用 jQuery 里的方法,例: $("#foo").html(); //获取 id 为 foo 的元素内的 html 代码,html()是 jQuery 特有的方法; 上面的那段代码等同于: document.getElementById("foo").innerHTML;

注意:在 jQuery 对象中无法使用 DOM 对象的任何方法。 例如$("#id").innerHTML 和$("#id").checked 之类的写法都是错误的,可以用$("#id").html() 和$("#id").attr ("checked")之类的 jQuery 方法来代替。同样,DOM 对象也不能使用 jQuery 方法。 学习 jQuery 开始就应当树立正确的观念, 分清 jQuery 对象和 DOM 对象之间的区别, 之后学习 jQuery 就会轻松很多的。

2.jQuery 对象和 DOM 对象的互相转换

jquery 对象和 dom 对象是不一样的! 在上面第一点说了, 比如 jquery 对象不能使用 dom 的 方法,dom 对象不能使用 jquery 方法,那假如我 jquery 没有封装我要的方法,那能怎么办 呢?

这时我们可以将 jquer 对象转换成 dom 对象

jquery 对象转换成 dom 对象 jquery 提供了两种方法将一个 jquery 对象转换成一个 dom 对象,即[index]和 get(index)。 可能有人会觉得奇怪,怎么是用下标呢,没错,jquery 对象就是一个数组对象. 下面代码将演示一个 jquery 对象转换成 dom 对象,再使用 dom 对象的方法 复制代码 代码如下:

var $cr=$("#cr"); //jquery 对象 var cr = $cr[0]; //dom 对象 也可写成 var cr=$cr.get(0); alert(cr.checked); //检测这个 checkbox 是否给选中

dom 对象转换成 jquery 对象 对于一个 dom 对象,只需要用$()把 dom 对象包装起来,就可以获得一个 jquery 对象了, 方法为$(dom 对象); 复制代码 代码如下:

var cr=document.getElementById("cr"); //dom 对象 var $cr = $(cr); //转换成 jquery 对象

转换后可以任意使用 jquery 中的方法了.

通过以上的方法,可以任意的相互转换 jquery 对象和 dom 对象. 最后再次强调,dom 对象才能使用 dom 中的方法,jquery 对象不可以使用 dom 中的方法, 但 jquery 对象提供了一套更 加完善的工具用于操作 dom,关于 jquery 的 dom 操作将在后面 的文章进行详细讲解.

ps: 平时用到的 jquery 对象都是通过$()函数制造出来的,$()函数就是一个 jquery 对象的制 造工厂.

建议:如果获取的对象是 jquery 对象,那么在变量前面加上$,这样方便容易识别出哪些是 jquery 对象,例如: var $variable = jquery 对象; 如果获取的是 dom 对象,则定义如下: var variable = dom 对象