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

谢谢

最佳答案

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

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


从jQuery网站:


  对于集合中的每个元素,通过测试元素本身并在DOM树中遍历其祖先,获得与选择器匹配的第一个元素。


您可以通过检查parentDoc.parent var的无效性来避免描述的错误:

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

09-18 14:27