Javascript 查找DOM元素根节点(阴影或灯光)的最佳方法是什么
我想找到给定元素的DOM范围。换句话说,包含它的文档或文档片段 有什么比下面的代码更好/更快的吗Javascript 查找DOM元素根节点(阴影或灯光)的最佳方法是什么,javascript,web-component,shadow-dom,Javascript,Web Component,Shadow Dom,我想找到给定元素的DOM范围。换句话说,包含它的文档或文档片段 有什么比下面的代码更好/更快的吗 function getRootNode( element ){ if( document.contains(element) ){ return document; } var root = element; while( root.parentNode ){ root = root.parentNode; } return root; } 您只需使用:
function getRootNode( element ){
if( document.contains(element) ){
return document;
}
var root = element;
while( root.parentNode ){
root = root.parentNode;
}
return root;
}
您只需使用:
您只需使用:
getRootNode()是在shadowdom中执行此操作的最佳方法,它将返回shadowroot,否则将返回文档。
见:
快速说明:目前IE/Edge节点不支持它。getRootNode()是在shadow dom中执行此操作的最佳方法,它将返回shadow root,否则将返回文档。
见:
快速提示:目前IE/Edge不支持它,我觉得它不错。真的,这是一个代码审查问题,不适合这样。我觉得不错。实际上,这是一个代码审查问题,不适合这样做。但对于“未导入”,阴影DOM节点
元素。所有者文档
返回文档
,而不是包含它的文档片段/shadowRoot。请参见此处:但对于未导入,阴影DOM节点元素。ownerDocument
返回文档
,而不是包含它的文档片段/shadowRoot。请看这里:请在您的答案中添加示例代码,而不仅仅是指向外部站点的链接。是的,当然!查看我的代码笔:基于@tomaleck提交的代码,请在您的答案中添加示例代码,而不仅仅是外部网站的链接。是的,当然!参见我的代码笔:基于@tomalec提交的代码
element.ownerDocument;