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