標籤:amp 方法 ref http button https 支援 oct 用法
一直不知道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() 方法