All Downloads are FREE. Search and download functionalities are using the official Maven repository.

package.lib.dom-utils.contains.js Maven / Gradle / Ivy

There is a newer version: 2.11.8
Show newest version
import { isShadowRoot } from "./instanceOf.js";
export default function contains(parent, child) {
  var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method

  if (parent.contains(child)) {
    return true;
  } // then fallback to custom implementation with Shadow DOM support
  else if (rootNode && isShadowRoot(rootNode)) {
      var next = child;

      do {
        if (next && parent.isSameNode(next)) {
          return true;
        } // $FlowFixMe[prop-missing]: need a better way to handle this...


        next = next.parentNode || next.host;
      } while (next);
    } // Give up, the result is false


  return false;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy