/** * Module dependencies */ var matches = require('dom-matches'); /** * @param element {Element} * @param selector {String} * @param context {Element} * @return {Element} */ module.exports = function (element, selector, context) { context = context || document; // guard against orphans element = { parentNode: element }; while ((element = element.parentNode) && element !== context) { if (matches(element, selector)) { return element; } } };