dom對象和jQuery對象的區別

1.jQuery對象和DOM對象javascript

在第一次學習Jquery的時候也許你們都不是很清楚Jquery對象和DOM對象二者之間的關係,下面就解釋兩點,便於對JqueryDom加深理解
DOM對象,便是咱們用傳統的方法(javascript)得到的對象,jQuery對象便是用jQuery類庫的選擇器得到的對象;
複製代碼 代碼以下:html

var domObj = document.getElementById("id"); //DOM對象
var $obj = $("#id"); //jQuery對象;java

jQuery對象就是經過jQuery包裝DOM對象後產生的對象,它是jQuery獨有的。若是一個對象是jQuery對象,那麼就可使用jQuery裏的方法,例:
$("#foo").html(); //獲取idfoo的元素內的html代碼,html()jQuery特有的方法;
上面的那段代碼等同於:
document.getElementById("foo").innerHTML;jquery

注意:在jQuery對象中沒法使用DOM對象的任何方法。
例如$("#id").innerHTML $("#id").checked之類的寫法都是錯誤的,能夠用$("#id").html()$("#id").attr ("checked")之類的 jQuery方法來代替。一樣,DOM對象也不能使用jQuery方法。學習jQuery開始就應當樹立正確的觀念,分清jQuery對象和DOM對象之間的區別,以後學習 jQuery就會輕鬆不少的。數組

2.jQuery對象和DOM對象的互相轉換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對象);
複製代碼 代碼以下:spa

var cr=document.getElementById("cr"); //dom對象
var $cr = $(cr); //轉換成jquery對象

轉換後能夠任意使用jquery中的方法了.

經過以上的方法,能夠任意的相互轉換jquery對象和dom對象.
最後再次強調,dom對象才能使用dom中的方法,jquery對象不可使用dom中的方法,但 jquery對象提供了一套更加完善的工具用於操做dom,關於jquerydom操做將在後面的文章進行詳細講解.


ps: 平時用到的jquery對象都是經過$()函數製造出來的,$()函數就是一個jquery對象的製造工廠.
建議:若是獲取的對象是 jquery對象,那麼在變量前面加上$,這樣方便容易識別出哪些是jquery對象,例如:
var $variable = jquery對象;
若是獲取的是dom對象,則定義以下:
var variable = dom對象

相關文章
相關標籤/搜索