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元素的父節點,子節點就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。