1. 程式人生 > >jQuery物件和Dom物件的區別與轉換

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物件