HTML DOM item() 方法
阿新 • • 發佈:2017-05-16
child best ner == asc ctype sre 回文 代碼
一直不知道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> <div id="div1"> <p class="demo">點擊按鈕來獲得 body 元素0個子節點的名稱。</p> <p class="demo">點擊按鈕來獲得 body 元素1個子節點的名稱。</p> <p class="demo">點擊按鈕來獲得 body 元素2個子節點的名稱。</p> <p class="demo">點擊按鈕來獲得 body 元素3個子節點的名稱。</p> </div> <div id="demo"></div> <button onclick="myFunction()">試一下</button> <script> function myFunction() { var x = document.getElementById("demo"); var div1 = document.getElementById("div1"); x.innerHTML = div1.childNodes.item(3).nodeName;//x.innerHTML = div1.children.item(1).nodeName; //children得到的是元素節點 } </script> </body> </html>
下面來說明下item()的用法:
定義和用法
item() 方法節點列表中位於指定索引的節點。
以下兩條語法產生相同的結果:
document.body.childNodes.item(0); document.body.childNodes[0];
HTML DOM item() 方法