jQuery对象和Dom对象的区别与转换

DOM是Document Object Model(文档对象模型)的简写,只有HTML,XML等文档结构的语言才具有DOM。

DOM中的节点通常分为三种类型:元素节点,属性节点,文本节点。

1.元素节点:<html>,<body>,<p>,<ul>,<img>,<li>等标签形式的节点就称为元素节点。

2.属性节点:例如,<img>元素中的src,alt就是属性节点。

3.文本节点:就是指HTML中的文字内容。如<span>hello world</span>,其中hello world就是文本节点。

DOM对象:

var dom = document.getElementById("myDog");  //获取DOM对象

var html = dom.innerHTML;  //dom对象使用JavaScript中的属性

Jquery对象:

var dom = $("#myDog");  //等价于 document.getElementById("myDog");

var html = dom.html();  //等价于dom.innerHTML;

DOM对象的方法/属性和jQuery对象的方法/属性是彼此独立的。即DOM对象只能使用DOM对象的方法/属性,而jQuery对象只能使用jQuery对象的方法/属性。例如:DOM对象可以使用DOM对象拥有的 innerHTML属性,但不能使用jQuery对象拥有的html()方法。

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

(1)DOM对象转为jQuery对象:

var dom =  document.getElementById("myDog");  //DOM对象

var $jqObject = $(dom);  //通过$()将DOM对象转为jQuery对象。

其中$()称为jQuery工厂。

(2)jQuery对象转为DOM对象:

将jQuery对象转为DOM对象。jQuery对象的本质是一个类似数组或集合的对象,而DOM对象的本质是一个普通对象。因此jQuery对象转为DOM对象的本质,就是将一个数组和集合转为一个普通对象。

方法一:将jQuery对象看成一个数组,通过使用数组下标的方式转为DOM对象,例如:

var  $JObject = $("#mydog");  //获得jQuery对象

var jsObject = $JObject[0];  //转为Dom对象

方法二:将jQuery对象看成一个集合,通过使用get(index)的方式转为DOM对象,例如:

var $JObject = $("#mydog");  //获得jQuery对象

var jsObject = $JObject.get(0);  //转为Dom对象

猜你喜欢

转载自blog.csdn.net/weixin_42044486/article/details/84142481