在html中,item的意思是在節點列表中位于指定索引的節點,語法格式為“document.元素對象.childNodes.item(數值)”。節點按照它們在源代碼中出現的順序進行排序,節點列表的索引以0開頭。
本教程操作環境:windows7系統、CSS3&&HTML5版、Dell G3電腦。
一直不知道javascript還有類似jQ里面eq()的函數,原來原生javascript的item()有類似功能:
由于是原生javascript,先補習下children和childNodes的區別:
1,childNodes:它是標準屬性,它返回指定元素的子元素集合,包括HTML節點,所有屬性,文本節點。 可以通過nodeType來判斷是哪種類型的節點,只有當nodeType==1時才是元素節點,2是屬性節點,3是文本節點。
2,children:非標準屬性,它返回指定元素的子元素集合。 但它只返回HTML節點,甚至不返回文本節點,雖然不是標準的DOM屬性,但它和innerHTML方法一樣,得到了幾乎所有瀏覽器的支持。
實例
返回元素的首個子節點:
document.body.childNodes.item(0);
測試代碼:w3c地址來測試
<!DOCTYPE html> <html> <body> <p id="p1"> <p class="demo">點擊按鈕來獲得 body 元素0個子節點的名稱。</p> <p class="demo">點擊按鈕來獲得 body 元素1個子節點的名稱。</p> <p class="demo">點擊按鈕來獲得 body 元素2個子節點的名稱。</p> <p class="demo">點擊按鈕來獲得 body 元素3個子節點的名稱。</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得到的是元素節點 } </script> </body> </html>
下面來說明下item()的用法:
定義和用法
item() 方法節點列表中位于指定索引的節點。
以下兩條語法產生相同的結果:
document.body.childNodes.item(0); document.body.childNodes[0];
推薦學習:html視頻教程