childNodes.length與children.length的區(qū)別
更新時(shí)間:2009年05月14日 23:36:22 作者:
childNodes.length與children.length的值常不一樣。
因?yàn)?/SPAN>childNodes包含的不僅僅只有html節(jié)點(diǎn),所有屬性,文本等都包含在childNodes里面,你可以通過(guò)nodeType來(lái)判斷是哪種類(lèi)型的節(jié)點(diǎn),只有當(dāng)nodeType==1時(shí)才使元素節(jié)點(diǎn),2是屬性節(jié)點(diǎn),3是文本節(jié)點(diǎn)。而children.length只計(jì)算節(jié)點(diǎn)的數(shù)量。
包括進(jìn)行節(jié)點(diǎn)長(zhǎng)度的計(jì)算,節(jié)點(diǎn)的移動(dòng)時(shí)都要注意這一點(diǎn)。
要獲得一個(gè)元素的文本,比如要獲得一個(gè)P節(jié)點(diǎn)的文本,有的人喜歡使用innerHTML,更改也是一樣,其實(shí)這不太好,因?yàn)槭褂?/SPAN>innerHTML瀏覽器會(huì)認(rèn)為你要插入的東西是一段標(biāo)簽文本,而你只想插入一段純文本,這就導(dǎo)致瀏覽器試圖去解析你的那段純文本,這會(huì)造成不必要的資源浪費(fèi)。所以建議使用element.firstChild.nodeValue,為什么是firstChild呢?因?yàn)?/SPAN>childNodes[0]就是文本節(jié)點(diǎn),不信你可以看看它的nodeType。
包括進(jìn)行節(jié)點(diǎn)長(zhǎng)度的計(jì)算,節(jié)點(diǎn)的移動(dòng)時(shí)都要注意這一點(diǎn)。
要獲得一個(gè)元素的文本,比如要獲得一個(gè)P節(jié)點(diǎn)的文本,有的人喜歡使用innerHTML,更改也是一樣,其實(shí)這不太好,因?yàn)槭褂?/SPAN>innerHTML瀏覽器會(huì)認(rèn)為你要插入的東西是一段標(biāo)簽文本,而你只想插入一段純文本,這就導(dǎo)致瀏覽器試圖去解析你的那段純文本,這會(huì)造成不必要的資源浪費(fèi)。所以建議使用element.firstChild.nodeValue,為什么是firstChild呢?因?yàn)?/SPAN>childNodes[0]就是文本節(jié)點(diǎn),不信你可以看看它的nodeType。
相關(guān)文章
JavaScript中運(yùn)算符規(guī)則和隱式類(lèi)型轉(zhuǎn)換示例詳解
JavaScript中運(yùn)算符規(guī)則的隱式類(lèi)型轉(zhuǎn)換是什么? 這是每個(gè)學(xué)習(xí)Javascript的新手們都應(yīng)該知道的一個(gè)問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于JavaScript中運(yùn)算符規(guī)則和隱式類(lèi)型轉(zhuǎn)換的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-09-09ECMAScript6變量的解構(gòu)賦值實(shí)例詳解
ES6允許按照一定模式,從數(shù)組和對(duì)象中提取值,對(duì)變量進(jìn)行賦值,這被稱(chēng)為解構(gòu)(Destructuring),下文中給大家提供了嵌套數(shù)組的解構(gòu)例子,大家一起看看吧2017-09-09javascript瀏覽器用戶(hù)代理檢測(cè)腳本實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇javascript瀏覽器用戶(hù)代理檢測(cè)腳本實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10