"parentNode"
常用來取得某個元素的父節點. 把 parentNodes 理解為容器, 在容器中有個子節點
例:
在上面的程式碼中, 你看到把"爹"作為一個div 容器, 該容器中有個"孩子", 就是粗體的文字部分. 如果你打算用getElementById() 方法獲取粗體元素並且想知道它"爸爸"是誰, 返回的信息將是一個div. 演示下面的腳本, 你就知道是怎麼回事啦...
引用:
alert(document.getElementById("child").parentNode.nodeName);
//-->
引用:
複製程式碼
注意到兩個parentNode 連用了嗎? "parentNode.parentNode". 第一個parentNode 是div ( id "childparent"), 因為我們要得到最外層的父元素, 所以另外加了一個parentNode 就到了div ( id "parent").
使用parentNode 不只找到某個元素的nodeName, 還會更多. 例如, 你可以獲取包含大量元素的父節點, 並在末尾添加一個新的節點.
IE 有它自己的名稱叫做"parentElement", 對於交叉瀏覽器腳本建議使用parentNode.
再囉嗦兩句:
如果將 javascript 放在 html檔頭部, 會發生錯誤. Firefox 會有如下報錯:
document.getElementById("child") has no properties
而 IE 則是:
Object Required
原因是所有的支援javascript 的瀏覽器在完全解析DOM 之前運行javascript . 在實際在Web 編程中,可能會將大多數javascript 放在head 標籤中. 為了能夠正常運行, 需要在函數中包裹alert , 在文件載入後呼叫函數. 例如在Body 標籤中加入.
parentNode、parentElement,childNodes、children 它們有什麼區別呢?
parentElement 取得物件層級中的父物件。
parentNode 取得文件層次中的父物件。
childNodes 取得作為指定物件直接後代的 HTML 元素和 TextNode 物件的集合。
children 取得作為物件直接後代的 DHTML 物件的集合。
-------------------------------------------- ------------
parentNode和parentElement功能一樣,childNodes和children功能一樣。但是parentNode和childNodes是符合W3C標準的,可以說比較通用。而另外兩個只是IE支持,不是標準,Firefox不支持
----------------------------------------------- ---------
也就是說parentElement、children是IE自家的東西,別的地方是不認的。
那麼,他們的標準版就是parentNode,childNodes。
這兩個的作用和parentElement、children是一樣的,並且是標準的、通用的。
----------------------------------------------- ---------
以下是簡單的解釋,注意個別字的差異:
parentNode Property: Retrieves the parent object in the document hierarchy.
parentElement Property:Retrieves the parent object in the object hierarchy.
childNodes:
Retrieves a collection of HTML Elements and TextNode objects that are direct descendants of the specified object.
children:
Retrieves a collection of DHTML Objects that are direct descendants of the object.
parentElement parentNode.parentNode.childNodes用法範例
第一種方法
alert(o.parentElement.parentNode); //parentElement.parentNode這裡也是取得父控制
//o.parentNode.bgColor="red";
o.parentElement.parentNode.bgColor="red> >
複製程式碼
;dfsdfdsfdsa td> |