parentNode和parentElement功能一樣,childNodes和children功能一樣。但是parentNode和childNodes是符合W3C標準的,可以說比較通用。而另外兩個只是IE支持,不是標準,Firefox就不支持
示例:
"parentNode" 常用來獲取某個元素的父節點. 把parentNodes 理解為容器, 在容器中有個子節點,如下:
<div id="parent"><b id="child">My text</b></div>
在上面的代碼中, 你看到把"爹"作為一個div 容器, 該容器中有個"孩子", 就是粗體的文字部分. 如果你打算用getElementById() 方法獲取粗體元素並且想知道它"爹"是誰, 返回的信息將是一個div. 演示下面的腳本如下:
<script type="text/javascript"><!--alert(document.getElementById"child").parentNode.nodeName);//--></script>
用parentNode 不一定只找到一個"爹", "兒子"也可以成為"爹", 如下面的例子...
<div id="parent"><div id="childparent"><b id="child">My text</b></div></div>
上面這段代碼中有兩個"爹"和兩個"孩子". 頭一個div ( id "parent") 是第二個div (childparent) 的"爹". 在"childparent" 中有個粗體元素(id "child"), 是"childparent" div 的"孩子". 那麼, 如何訪問到"爺爺" (id "parent")?如下:
<script type="text/javascript"><!--alert(document.getElementById("child").parentNode.parentNode.nodeName);//--></script>注意到兩個parentNode 連用了嗎? "parentNode.parentNode". 第一個parentNode 是div ( id "childparent"), 因為我們要得到最外層的父元素, 所以另外加了一個parentNode 就到了div ( id "parent").
使用parentNode 不只找到某個元素的nodeName, 還會更多. 例如, 你可以獲取包含大量元素的父節點, 並在末尾添加一個新的節點. IE 有它自己的名稱叫做"parentElement", 對於交叉瀏覽器腳本建議使用parentNode
以上這篇淺談js的html元素的父節點,子節點就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。