jQuery對象與DOM對象區別與轉換
今天我們來講一個小知識點,之前有個學員問我,jQuery和JavaScriptDOM對象的方法不能互相調用嗎?需要怎麼轉換?相信很多初學者都是一直認為,DOM對象和jQuery對象是同一個,能相互轉換使用方法。那麼我們今天就來說說他們的區別,和轉換的方法。
什麼是jQuery對象?
就是通過jQuery包裝DOM對象後產生的對象。jQuery對象是jQuery獨有的,其可以使用jQuery里的方法。
比如:
意思是指:獲取ID為test的元素內的html代碼。其中html()是jQuery里的方法
這段代碼等同於用DOM實現代碼:
雖然jQuery對象是包裝DOM對象後產生的,但是jQuery無法使用DOM對象的任何方法,同理DOM對象也不能使用jQuery里的方法.亂使用會報錯。
比如:
之類的寫法都是錯誤的。
還有一個要注意的是:用#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對象。
(2)jQuery本身提供,通過.get(index)方法,得到相應的DOM對象
DOM對象轉成jQuery對象:
對於已經是一個DOM對象,只需要用$()把DOM對象包裝起來,就可以獲得一個jQuery對象了。$(DOM對象)
轉換後,就可以任意使用jQuery的方法了。
通過以上方法,可以任意的相互轉換jQuery對象和DOM對象。需要再強調注意的是:
DOM對象才能使用DOM中的方法,jQuery對象是不可以用DOM中的方法。
最後
這個方法其實很簡單,但是對於初學入門的小白這些細節一直都是沒注意的,在調用jQuery方法時做好細節處理,很多問題都可以迎刃而解了,好了今天的內容就到這裡。
有什麼疑問歡迎留言疑問哦,也可以在留意發表你們對這次教程的看法哦!
《前端開發工程師》系列教程推薦:
如果你也想成為前端開發工程師,你就一定要長按下面的二維碼關注一下啦!
別忘了點贊轉發+關注哦!


※谷歌 CEO 表示:比編程能力更重要的是持續學習
※React中setState 為什麼是非同步的?
TAG:WEB開發李家靖 |