1. 程式人生 > >DOM物件與jquery物件有什麼不同?

DOM物件與jquery物件有什麼不同?

轉自:http://zhidao.baidu.com/link?url=2Iq0Y-gMe2Z82cmXVR4IJgCDvVO2gpfHga67PLEbx9hAEuibnt57ivxCYWHAQUUOFbDIP7c9Cl1FofQzdwdmZa

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