jquery與dom的轉換

什麼是jQuery對象?

---就是經過 jQuery包裝 DOM對象後產生的對象。 jQuery對象是 jQuery獨有的,其能夠使用 jQuery裏的方法。

好比:

$("#test").html()   意思是指:獲取ID爲test的元素內的html代碼。其中html()是 jQuery裏的方法

這段代碼等同於用 DOM實現代碼:

document.getElementById("id").innerHTML;

雖然 jQuery對象是包裝 DOM對象後產生的,可是 jQuery沒法使用 DOM對象的任何方法,同理 DOM對象也不能使用 jQuery裏的方法.亂使用會報錯。好比:$("#test").innerHTML、document.getElementById("id").html()之類的寫法都是錯誤的。

還有一個要注意的是:用#id做爲選擇符取得的是 jQuery對象與document.getElementById("id")獲得的 DOM對象,這二者並不等價。請參看以下說的二者間的轉換。

既然 jQuery有區別但也有聯繫,那麼 jQuery對象與 DOM對象也能夠相互轉換。在再二者轉換前首先咱們給一個約定:若是一個獲取的是 jQuery對象,那麼咱們在變量前面加上$,如:var $variab = jQuery對象;若是獲取的是 DOM對象,則與習慣普通同樣:var variab = DOM對象;這麼約定只是便於講解與區別,實際使用中並不規定。



jQuery對象轉成DOM對象:

兩種轉換方式將一個 jQuery對象轉換成 DOM對象:[index]和.get(index);

(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是否被選中



DOM對象轉成jQuery對象:

對於已是一個 DOM對象,只須要用$()把 DOM對象包裝起來,就能夠得到一個 jQuery對象了。$( DOM對象)

如:var v=document.getElementById("v");  // DOM對象

var $v=$(v);    // jQuery對象

轉換後,就能夠任意使用 jQuery的方法了。

經過以上方法,能夠任意的相互轉換 jQuery對象和 DOM對象。須要再強調注意的是: DOM對象才能使用 DOM中的方法, jQuery對象是不能夠用 DOM中的方法
相關文章
相關標籤/搜索