DOM對象與jQuery對象有什麼不同

來源:互聯網
上載者:User

標籤:

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對象

DOM對象與jQuery對象有什麼不同

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.