UNPKG

element-closest

Version:

Return the closest element matching a selector up the DOM tree

37 lines (28 loc) 1.01 kB
function polyfill(window) { var ElementPrototype = window.Element.prototype; if (typeof ElementPrototype.matches !== 'function') { ElementPrototype.matches = ElementPrototype.msMatchesSelector || ElementPrototype.mozMatchesSelector || ElementPrototype.webkitMatchesSelector || function matches(selector) { var element = this; var elements = (element.document || element.ownerDocument).querySelectorAll(selector); var index = 0; while (elements[index] && elements[index] !== element) { ++index; } return Boolean(elements[index]); }; } if (typeof ElementPrototype.closest !== 'function') { ElementPrototype.closest = function closest(selector) { var element = this; while (element && element.nodeType === 1) { if (element.matches(selector)) { return element; } element = element.parentNode; } return null; }; } } export default polyfill; //# sourceMappingURL=index.mjs.map