根 Div 元素类型错误

Root Div Element Type Error

我试图找到根 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 来做我现在正在做的事情?

谢谢

我相信您要找的是 window.top,它引用了层次结构中最顶层的 window。您可以找到更多关于它的信息 here. Additionally, this question 可能有助于消除关于它与 window.parent 之间差异的一些困惑。

不清楚你想做什么,但是 jQuery 你可以尝试使用 closest 函数:

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

来自 jQuery 站点:

For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.

您可以通过检查 parentDoc.parent var:

的无效性来避免您描述的错误
while (parentDoc !== parentDoc.parent) {
    if (parentDoc.parent == null) {
        break;
    }
    parentDoc = parentDoc.parent;
}