jquery獲取的html元素和document獲取的元素的區別


最近通過ocx做了一個視頻插件,然后將插件放到html中(想知道的可以看一下)

因為我要操作這個插件,要播放,停止等,所以我需要獲取這個元素,不出意外的,我就用jquery來獲取,然后根本無法執行,然后用document來獲取,正常執行,具體的如下所示

//正常執行     
var obj = document.getElementById("player00");
obj.testhelloworld();

//無法執行
var playobj = $('#player00');
playobj.testhelloworld();

然后我就在想,這兩者有什么區別呢?然后搜索了如下結論

jquery獲取的html元素是jquery對象,可以執行jquery的方法,而document獲取的是dom對象,執行的是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中的方法。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM