2015-01-08 51 views
1

我想找到根div元素,這就是我如何做到這一點。根Div元素類型錯誤

var parentDoc = window; 
    while (parentDoc !== parentDoc.parent) { 
     parentDoc = parentDoc.parent; 
    } 
    parentDoc = parentDoc.document; 
    var divContent = parentDoc.getElementsByClassName("content")[0]; 

它工作正常,但當我調整我的瀏覽器屏幕太小,然後我得到一個錯誤。

Uncaught TypeError: Cannot read property 'parent' of null 

我怎樣才能解決這個問題?或者有沒有更好的方法來做我現在正在使用jquery或javascript做什麼?

感謝

回答

0

目前尚不清楚你想要做什麼,但使用jQuery,你可以嘗試使用closest功能:

var $content = $(<selector>).closest('.content'); 
var content = $content[0]; 

從jQuery的網站:

對於組中的每一個元素,得到第一個元素通過測試元素本身並遍歷DOM樹中的祖先來匹配選擇器。

你可以避開你通過檢查parentDoc.parent變種無效描述的錯誤:

while (parentDoc !== parentDoc.parent) { 
    if (parentDoc.parent == null) { 
     break; 
    } 
    parentDoc = parentDoc.parent; 
} 
+0

我試圖獲取根DIV然後找到孩子div – user3754674

+0

@ user3754674:我不認爲你正在找到根div。你想要引用的是根文檔/框架,而不是'

'(否則我誤解了你的問題,你發佈的代碼根本沒有意義)。 – JCOC611

+0

根div是什麼?你的文件?一些容器標籤?仔細看看jQuery最接近的功能。它可能會幫助你。 –

0

我相信你正在尋找的是window.top,它具有層次結構中的最頂層窗口的引用。你可以找到更多的信息here.此外,this question可能有助於澄清有關這與window.parent之間的差異一些混淆。

+0

我試圖獲取根格,然後找到孩子的div – user3754674

相關問題