src/dom/hasChild.js
function hasChild(child, element) {
  assert(child !== undefined, 'Child is undefined');
  assertType(element, Node, true, 'Parameter \'element\', if specified, must be a Node');

  if (typeof child === 'string') {
    return !noval(getChild(element, child, true));
  }
  else {
    if (!element || element === window || element === document) element = document.body;
    if (element.shadowRoot) element = element.shadowRoot;

    while (!noval(child) && child !== document) {
      child = child.parentNode;
      if (child === element) return true;
    }

    return false;
  }
}
function hasChild(child, element) {
  assert(child !== undefined, 'Child is undefined');
  assertType(element, Node, true, 'Parameter \'element\', if specified, must be a Node');

  if (typeof child === 'string') {
    return !noval(getChild(element, child, true));
  }
  else {
    if (!element || element === window || element === document) element = document.body;
    if (element.shadowRoot) element = element.shadowRoot;

    while (!noval(child) && child !== document) {
      child = child.parentNode;
      if (child === element) return true;
    }

    return false;
  }
}
function hasChild ( child , element ) { assert ( child !== undefined , 'Child is undefined' ) ; assertType ( element , Node , true , 'Parameter \'element\', if specified, must be a Node' ) ; if ( typeof child === 'string' ) { return ! noval ( getChild ( element , child , true ) ) ; } else { if ( ! element || element === window || element === document ) element = document . body ; if ( element . shadowRoot ) element = element . shadowRoot ; while ( ! noval ( child ) && child !== document ) { child = child . parentNode ; if ( child === element ) return true ; } return false ; } }
Determines if an element contains the specified child.

@param {Node|string} child - A child is a Node. It can also be a string of
child name(s) separated by '.'.
@param {Node} [element] - Specifies the parent Node to fetch the child from.

@return {boolean} True if this element has the specified child, false
otherwise.

@alias module:requiem~dom.hasChild
Determines if an element contains the specified child .