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