jquery和document獲取html元素的區別是什麼?

2020-11-20 18:00:50

區別:jquery獲取的html元素是jquery物件,可以執行jquery的方法,而document獲取的是dom物件,執行的是dom的方法。jQuery物件是jQuery獨有的,不能用DOM方法;而DOM物件也不能用jQuery方法。

相關推薦:《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元素的區別是什麼?的詳細內容,更多請關注TW511.COM其它相關文章!