您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關jquery和document獲取html元素有哪些區別的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
區別:jquery獲取的html元素是jquery對象,可以執行jquery的方法,而document獲取的是dom對象,執行的是dom的方法。jQuery對象是jQuery獨有的,不能用DOM方法;而DOM對象也不能用jQuery方法。
最近通過ocx做了一個視頻插件,然后將插件放到html中(想知道的可以看一下)
因為我要操作這個插件,要播放,停止等,所以我需要獲取這個元素,不出意外的,我就用jquery來獲取,然后根本無法執行,然后用document來獲取,正常執行,具體的如下所示
//正常執行 var obj = document.getElementById("player00"); obj.testhelloworld();//無法執行var playobj = $('#player00'); playobj.testhelloworld();
然后我就在想,這兩者有什么區別呢?然后搜索了如下結論
jquery獲取的html元素是jquery對象,可以執行jquery的方法,而document獲取的是dom對象,執行的是dom的方法
說明:
DOM對象是我們用傳統的方法(javascript)獲得的對象,jQuery對象就是用jQuery的類庫選擇器獲得的對象。JQuery對象就是通過jQuery包裝DOM對象后產生的對象。JQuery對象是jQuery獨有的,其可以使用jQuery里的方法,但是不能使用DOM的方法
頓時釋然,我此前一直認為兩個是等價的,并為追究為什么dom的方法為什么不能在jquery來執行,現在想想,完全釋然了。
既然這樣,那么兩者之間怎么互相轉化呢?畢竟所得到的對象的內容是一樣的。
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中的方法。
感謝各位的閱讀!關于jquery和document獲取html元素有哪些區別就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。