JQuery困惑—包裝集 DOM節(jié)點(diǎn)
更新時間:2009年10月16日 20:57:14 作者:
我使用了JQuery進(jìn)行了一段時間的前端開發(fā),它讓我從選擇需要操作的元素痛苦中解放出來,因?yàn)樘峁┑倪x擇功能是如此的強(qiáng)大。
同時在開發(fā)過程中我被一個問題困惑了很久,也許在別人看來這根本不是問題!
$('#someElement')和$('#someElement')[0],這條語句帶給我一段時間的困惑,開始時每次使用我總是在其中一個在出錯的時候換成另外一個,
雖然每次都能完成功能,但總是有中說不出的郁悶!后來終于搞懂了其中的道理:$('#someElement')雖然只選擇元素,但它仍是包裝集,
不能使用DOM節(jié)點(diǎn)的方法(如SetAttribute等)。而$('#someElement')[0]確是返回包裝集中的第一個元素,所有它能使用DOM節(jié)點(diǎn)的方法。
總之:使用JQuery時,需要注意包裝集和DOM節(jié)點(diǎn)的區(qū)別,JQuery提供的方法都是包裝集的方法,不能在DOM節(jié)點(diǎn)上使用JQuery方法,
同樣,DOM節(jié)點(diǎn)的方法也不能在包裝集上使用,而只能應(yīng)用于DOM節(jié)點(diǎn)。當(dāng)然除了方法還有屬性(如innerHTML)。
同時我能也能將DOM節(jié)點(diǎn)包裝成包裝集:如我們經(jīng)常要使用$(this),將節(jié)點(diǎn)包裝成包裝集然后使用JQuery的方法進(jìn)行處理。
雖然每次都能完成功能,但總是有中說不出的郁悶!后來終于搞懂了其中的道理:$('#someElement')雖然只選擇元素,但它仍是包裝集,
不能使用DOM節(jié)點(diǎn)的方法(如SetAttribute等)。而$('#someElement')[0]確是返回包裝集中的第一個元素,所有它能使用DOM節(jié)點(diǎn)的方法。
總之:使用JQuery時,需要注意包裝集和DOM節(jié)點(diǎn)的區(qū)別,JQuery提供的方法都是包裝集的方法,不能在DOM節(jié)點(diǎn)上使用JQuery方法,
同樣,DOM節(jié)點(diǎn)的方法也不能在包裝集上使用,而只能應(yīng)用于DOM節(jié)點(diǎn)。當(dāng)然除了方法還有屬性(如innerHTML)。
同時我能也能將DOM節(jié)點(diǎn)包裝成包裝集:如我們經(jīng)常要使用$(this),將節(jié)點(diǎn)包裝成包裝集然后使用JQuery的方法進(jìn)行處理。
相關(guān)文章
jquery mobile的觸控點(diǎn)擊事件會多次觸發(fā)問題的解決方法
這篇文章主要介紹了jquery mobile的觸控點(diǎn)擊事件會多次觸發(fā)問題的解決方法以及替代方法,需要的朋友可以參考下2014-05-05jQuery 浮動導(dǎo)航菜單適合購物商品類型的網(wǎng)站
頁面長度較大,需要方便快速的在頁面的不同位置進(jìn)行定位,所以浮動菜單逐漸流行了起來,下面是jQuery浮動導(dǎo)航菜單適合購物網(wǎng)站商品類型2014-09-09