dom节点中'isConnected'字段的可靠性

ris*_*dev 8 javascript jquery dom

domNode.isConnected是一个铬合金的旗帜.它显示domNode是否是文档的一部分.
它是否跨浏览器兼容?
如果没有,对于其他浏览器是否有任何有效的替代方案?请提供任何可用文档的链接.

小智 10

它不受支持,但很容易填充.

(function (supported){
  if (supported) return;
  Object.defineProperty(window.Node.prototype, 'isConnected', {get})
  function get() {
    return document.contains(this);
  }
})('isConnected' in window.Node.prototype);
Run Code Online (Sandbox Code Playgroud)

  • fyi:这对IE10不起作用,因为`document.contains`不存在:https://connect.microsoft.com/IE/feedback/details/780874/node-contains-is-incorrect (4认同)
  • 仅供参考,如果您正在处理影子根中的元素,则此 polyfill 是不完整的 - 这些元素不会注册为文档包含的内容,因为它们位于孤立的子树中。 (2认同)