在一棵節點樹上(DOM文檔),childNodes屬性可以獲取任何一個節點下的所有子元素節點,它獲取的值是一個包含這個元素全部子元素的數組,但是這個數組中包含的東西太多,幾乎每一樣東西都是一個節點,甚至連空格以及換行符都被解釋成一個節點。

国产视频app 比如,我們想把一個元素節點中所有的子元素節點都獲取出來,該如何做呢?

例:

JaveScript操作DOM節點的childNodes屬性

国产视频app 獲取ID為mochu元素下的所有子元素

HTML代碼:

<div id="mochu">
<div>
........
</div>
</div>

JavaScript代碼:

var str = document.getElementById(mochu);
str.childNodes;

解釋:

国产视频app 1、通過getElementById屬性,定位到ID為mochu的元素上,并賦值給str

国产视频app 2、用屬性childNodes,獲取元素中包含的子元素。當然這個值也可以賦值給一個變量

數組長度

childNotes獲取到的值是一個數組,當然它是有長度的

我們可以用數組的length屬性,來確定這個元素節點內包含多少個子元素節點

根據上面的代碼,我們可以這樣添加或修改JavaScript代碼

var s = str.childNodes.length;
alert(s);

国产视频app 這里我們用alert彈出一個提示框,來輸出ID為mochu這個元素節點內有多少個子元素節點!

這里需要注意的是:由childNodes屬性返回的數組包含所有類型的節點,而不僅僅只有元素節點。事實上文檔中的所有東西都是一個節點,甚至連空格以及換行符也是節點,而它們也都包含childNodes返回的數組中。