UNPKG

@sgalinski/responsive-side-menu

Version:

A simple and extendable slide-in menu

31 lines (24 loc) 762 B
'use strict'; export default class util { static parents(_element, _selector = null) { let elements = []; // eslint-disable-next-line no-param-reassign while ((_element = _element.parentElement) !== null) { if (_element.nodeType !== Node.ELEMENT_NODE) { // eslint-disable-next-line no-continue continue; } if (_selector !== null && selectorMatches(_element, _selector)) { elements.push(_element); } } function selectorMatches(el, selector) { let p = Element.prototype; let f = p.matches || p.webkitMatchesSelector || p.mozMatchesSelector || p.msMatchesSelector || function(s) { return [].indexOf.call(document.querySelectorAll(s), this) !== -1; }; return f.call(el, selector); } return elements; } }