我试图找到根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;
}