我想找到给定元素的DOM范围。换句话说,包含它的文档或文档片段。
有没有比下面代码更好/更快的东西?
function getRootNode( element ){
if( document.contains(element) ){
return document;
}
var root = element;
while( root.parentNode ){
root = root.parentNode;
}
return root;
}
答案 0 :(得分:3)
您可以使用ownerDocument
:
element.ownerDocument;
答案 1 :(得分:1)
Node.getRootNode()是在阴影dom中执行此操作的最佳方式,它将返回阴影根,否则它将返回文档。 请参阅:https://developer.mozilla.org/en-US/docs/Web/API/Node/getRootNode
快速注意:目前IE / Edge不支持