在html中,item的意思是在節(jié)點(diǎn)列表中位于指定索引的節(jié)點(diǎn),語(yǔ)法格式為“document.元素對(duì)象.childNodes.item(數(shù)值)”。節(jié)點(diǎn)按照它們?cè)谠创a中出現(xiàn)的順序進(jìn)行排序,節(jié)點(diǎn)列表的索引以0開(kāi)頭。
本教程操作環(huán)境:windows7系統(tǒng)、CSS3&&HTML5版、Dell G3電腦。
一直不知道javascript還有類(lèi)似jQ里面eq()的函數(shù),原來(lái)原生javascript的item()有類(lèi)似功能:
由于是原生javascript,先補(bǔ)習(xí)下children和childNodes的區(qū)別:
1,childNodes:它是標(biāo)準(zhǔn)屬性,它返回指定元素的子元素集合,包括HTML節(jié)點(diǎn),所有屬性,文本節(jié)點(diǎn)。 可以通過(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)。
2,children:非標(biāo)準(zhǔn)屬性,它返回指定元素的子元素集合。 但它只返回HTML節(jié)點(diǎn),甚至不返回文本節(jié)點(diǎn),雖然不是標(biāo)準(zhǔn)的DOM屬性,但它和innerHTML方法一樣,得到了幾乎所有瀏覽器的支持。
實(shí)例
返回元素的首個(gè)子節(jié)點(diǎn):
document.body.childNodes.item(0);
測(cè)試代碼:w3c地址來(lái)測(cè)試
<!DOCTYPE html> <html> <body> <p id="p1"> <p class="demo">點(diǎn)擊按鈕來(lái)獲得 body 元素0個(gè)子節(jié)點(diǎn)的名稱(chēng)。</p> <p class="demo">點(diǎn)擊按鈕來(lái)獲得 body 元素1個(gè)子節(jié)點(diǎn)的名稱(chēng)。</p> <p class="demo">點(diǎn)擊按鈕來(lái)獲得 body 元素2個(gè)子節(jié)點(diǎn)的名稱(chēng)。</p> <p class="demo">點(diǎn)擊按鈕來(lái)獲得 body 元素3個(gè)子節(jié)點(diǎn)的名稱(chēng)。</p> </p> <p id="demo"></p> <button onclick="myFunction()">試一下</button> <script> function myFunction() { var x = document.getElementById("demo"); var p1 = document.getElementById("p1"); x.innerHTML = p1.childNodes.item(3).nodeName; //x.innerHTML = p1.children.item(1).nodeName; //children得到的是元素節(jié)點(diǎn) } </script> </body> </html>
下面來(lái)說(shuō)明下item()的用法:
定義和用法
item() 方法節(jié)點(diǎn)列表中位于指定索引的節(jié)點(diǎn)。
以下兩條語(yǔ)法產(chǎn)生相同的結(jié)果:
document.body.childNodes.item(0); document.body.childNodes[0];
推薦學(xué)習(xí):html視頻教程