jQuery包裝集和DOM對象是有區別的,jQuery包裝集它一定是一個集合,是用jQuery的形式封裝,不管它含有幾個元素;而DOM對象一般是獲取到的頁面上某一個元素,比如說div、p等等,當然也可以獲取一組DOM對象。
我們來看一個jQuery包裝集:
$(‘#btn’) //這是一個jQuery包裝集
上面的代碼中雖然是以id的形式獲取了一個包裝集,並且它里面肯定只有一個元素,但是它也是一個集合。
我們來看一個DOM元素:
document.getElementById(‘btn’) //這是一個DOM元素
雖然上面兩段代碼都獲得了id為btn的元素,但是他們兩個的形式是不一樣的。
對於jQuery我可以使用$(‘#btn’).html(),而對於DOM元素可以使用document.getElementById(‘btn’).innerHTML,這兩句話在效果上是等同的。
jQuery包裝集和DOM對象可以相互轉換
在jQuery中提供了一些方法將jQuery包裝集轉換為DOM對象,比如說類似數組的下標方式,如下代碼:
var btn=$(‘#btn’); var dom=btn[0];
jQuery還提供了內置方法,來獲得DOM對象,代碼如下:
var btn=$(‘#btn’); var dom=btn.get(0);
當然DOM對象也可以轉換為jQuery包裝集,其實也比較簡單,就是用jQuery的符號$()把元素包裝起來就可以了,代碼如下:
var dom=document.getElementById(‘btn’); var btnquery=$(dom);
再次強調jQuery包裝集和DOM對象並並不是一回事,這個概念要分清楚,它們有各自的api,雖然有相似但均不相同。