tui-code-snippet
Version:
TOAST UI Utility: CodeSnippet
36 lines (27 loc) • 729 B
JavaScript
/**
* @fileoverview Find parent element recursively
* @author NHN FE Development Lab <dl_javascript@nhn.com>
*/
;
var matches = require('./matches');
/**
* Find parent element recursively
* @param {HTMLElement} element - base element to start find
* @param {string} selector - selector string for find
* @returns {HTMLElement} - element finded or null
* @memberof module:domUtil
*/
function closest(element, selector) {
var parent = element.parentNode;
if (matches(element, selector)) {
return element;
}
while (parent && parent !== document) {
if (matches(parent, selector)) {
return parent;
}
parent = parent.parentNode;
}
return null;
}
module.exports = closest;