欢迎您的光临,本博所发布之文章皆为作者亲测通过,如有错误,欢迎通过各种方式指正。由于本站位于香港虚拟主机,故速度比较慢。

文摘  jQuery对象与DOM对象与之间的区别联系

JQuery 本站 187 0评论

一、DOM对象、JavaScript对象、jQuery对象


1.DOM对象

文档对象模型简称DOM(Document Object Model),是W3C组织推荐的处理可扩展置标语言的标准编程接口。

· DOM实际上是以面向对象方式描述的文档模型。DOM定义了表示和修改文档所需的对象、这些对象的行为和属性以及这些对象之间的关系。

· 通过DOM,可以访问所有的 HTML 元素,连同它们所包含的文本和属性。可以对其中的内容进行修改和删除,同时也可以创建新的元素。

· DOM 独立于平台和编程语言。它可被任何编程语言诸如 Java、JavaScript 和VBScript 使用。

· DOM对象,即是我们用传统的方法(javascript)获得的对象。

· DOM准确说是对文档对象的一种规范标准(文档对象模型),标准只定义了属性和方法行为。


2.JavaScript对象

· JavaScript 提供多个内建对象,比如 String、Date、Array 等等。

· 对象只是带有属性和方法的特殊数据类型。

· 通过js获取的DOM对象就是js对象。

· 当浏览器支持js的dom接口(api)时,这里狭义的dom对象是以js对象的形式出现的,也就是一个js对象。


3.jQuery对象

jQuery对象其实是一个JavaScript的数组,这个数组对象包含125个方法和4个属性。

4个属性分别是:

· jquery 当前的jquery框架版本号

· length 指示该数组对象的元素个数 

· context 一般情况下都是指向HtmlDocument对象 

· selector 传递进来的选择器内容


jQuery对象就是通过jQuery包装DOM对象后产生的对象。jQuery对象是jQuery独有的,其可以使用jQuery里的方法,但是不能使用DOM的方法;反过来Dom对象也不能使用jQuery的方法。


jQuery对象和js对象区别:

· jQuery对象属于js的数组

· jQuery对象是通过jQuery包装的DOM对象后产生的

· jQuery对象不能使用DOM对象的方法和属性

· DOM对象不能使用jQuery对象的方法和属性


jQuery对象和js对象之间的相互转换:

js转jQuery对象

$(js对象)

jQuery对象转js对象

var doc2=$("#idDoc2")[0];   //转换jQuery对象为DOM对象  
doc2.innerHTML="这是jQuery的第一个DOM对象"  
//使用jQuery对象本身提供的get函数来返回指定集合位置的DOM对象  
var doc2=$("#idDoc2").get(0);  
doc2.innerHTML="这是jQuery的第二个DOM对象"


二、jQuery对象和DOM对象的区别与使用


1.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特有的方法

等同于js中:

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对象的互相转换


2.1 jquery对象转换成dom对象

jquery提供了两种方法将一个jquery对象转换成一个dom对象,即[index]和get(index)

可能有人会觉得奇怪,怎么是用下标呢,没错,jquery对象就是一个数组对象。

例:

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


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

var $v =$(“#v”) ; //jQuery对象  
var v=$v[0];    //DOM对象  
alert(v.checked)   //检测这个checkbox是否被选中

 

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

var $v=$(“#v”);  //jQuery对象  
var v=$v.get(0);   //DOM对象  
alert(v.checked)  //检测这个checkbox是否被选中


2.2 dom对象转换成jquery对象

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

方法为$(dom对象);

例:

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

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


由于jquery对象本身是一个集合。所以如果jquery对象要转换为dom对象则必须取出其中的某一项,一般可通过索引取出。

如:

$("#msg")[0],$("div").eq(1)[0],$("div").get()[1],$("td")[5]

这些都是dom对象,可以使用dom中的方法,但不能再使用Jquery的方法。

以下几种写法都是正确的:

$("#msg").html();

$("#msg")[0].innerHTML;

$("#msg").eq(0)[0].innerHTML;

$("#msg").get(0).innerHTML;


总结:

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

注意:

如果获取的对象是 jquery对象,那么在变量前面加上$,这样方便容易识别出哪些是jquery对象。

var $variable = jquery对象;

如果获取的是dom对象,则定义如下:

var variable = dom对象;


参考网址:

https://www.cnblogs.com/xiaomaozi168/p/8615440.html 


转载请注明: ITTXX.CN--分享互联网 » jQuery对象与DOM对象与之间的区别联系

最后更新:2019-07-18 18:18:19

赞 (1) or 分享 ()
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽