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