24 lines
478 B
Java
24 lines
478 B
Java
/**
|
|
* 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;
|
|
}
|
|
}
|
|
};
|