繁体   English   中英

查找元素DOM(阴影或光)的根节点的最佳方法是什么

[英]What is the best way to find root node of elements DOM (shadow or light)

我想找到给定元素的DOM范围。 换句话说,文档或包含它的文档片段。

有什么比下面的代码更好/更快的吗?

function getRootNode( element ){
  if( document.contains(element) ){
    return document;
  }

  var root = element;
  while( root.parentNode ){
    root = root.parentNode;
  }
  return root;
}

http://jsbin.com/rudik/4/edit

您可以只使用ownerDocument

element.ownerDocument;

Node.getRootNode()是在影子dom中执行此操作的最佳方法,它将返回影子根,否则将返回文档。 参见: https : //developer.mozilla.org/en-US/docs/Web/API/Node/getRootNode

快速说明:IE / Edge目前不支持

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM