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

tom*_*lec 2 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;
}
Run Code Online (Sandbox Code Playgroud)

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

Ori*_*iol 5

你可以只使用ownerDocument

element.ownerDocument;
Run Code Online (Sandbox Code Playgroud)