document.getElementById()返回的是DOM對(duì)象,而$()返回的是jQuery對(duì)象骗污,所以不是同一種東西。
所以如果你用jQuery對(duì)象【通過(guò)$("#id")得到的】企圖訪問(wèn)DOM對(duì)象的屬性,會(huì)報(bào)錯(cuò):Uncaught TypeError: Cannot read property 'xxxxxxxx' of undefined妆偏。同理,DOM對(duì)象訪問(wèn)jQuery對(duì)象的屬性也會(huì)出錯(cuò)耀销。
解決方案:互相轉(zhuǎn)換
jQuery對(duì)象轉(zhuǎn)成DOM對(duì)象:
兩種轉(zhuǎn)換方式將一個(gè)jQuery對(duì)象轉(zhuǎn)換成DOM對(duì)象:[index]和.get(index);
(1)jQuery對(duì)象是一個(gè)數(shù)據(jù)對(duì)象楼眷,可以通過(guò)[index]的方法,來(lái)得到相應(yīng)的DOM對(duì)象熊尉。
如:var $v =$("#v") ; //jQuery對(duì)象
var v=$v[0]; //DOM對(duì)象
alert(v.checked) //檢測(cè)這個(gè)checkbox是否被選中
(2)jQuery本身提供罐柳,通過(guò).get(index)方法,得到相應(yīng)的DOM對(duì)象
如:var $v=$("#v"); //jQuery對(duì)象
var v=$v.get(0); //DOM對(duì)象
alert(v.checked) //檢測(cè)這個(gè)checkbox是否被選中
DOM對(duì)象轉(zhuǎn)成jQuery對(duì)象:
對(duì)于已經(jīng)是一個(gè)DOM對(duì)象狰住,只需要用$()把DOM對(duì)象包裝起來(lái)张吉,就可以獲得一個(gè)jQuery對(duì)象了。$(DOM對(duì)象)
如:var v=document.getElementById("v"); //DOM對(duì)象
var $v=$(v); //jQuery對(duì)象
轉(zhuǎn)換后催植,就可以任意使用jQuery的方法了肮蛹。
通過(guò)以上方法,可以任意的相互轉(zhuǎn)換jQuery對(duì)象和DOM對(duì)象创南。需要再?gòu)?qiáng)調(diào)注意的是:DOM對(duì)象才能使用DOM中的方法伦忠,jQuery對(duì)象是不可以用DOM中的方法。