UNPKG

domtastic

Version:

Small, fast, and modular DOM and event library for modern browsers.

25 lines (22 loc) 787 B
/** * @module contains */ /** * Test whether an element contains another element in the DOM. * * @param {Element} container The element that may contain the other element. * @param {Element} element The element that may be a descendant of the other element. * @return {Boolean} Whether the `container` element contains the `element`. * @example * $.contains(parentElement, childElement); // true/false */ export const contains = (container, element) => { if(!container || !element || container === element) { return false; } else if(container.contains) { return container.contains(element); } else if(container.compareDocumentPosition) { return !(container.compareDocumentPosition(element) & Node.DOCUMENT_POSITION_DISCONNECTED); } return false; };