UNPKG

tui-code-snippet

Version:
36 lines (27 loc) 729 B
/** * @fileoverview Find parent element recursively * @author NHN FE Development Lab <dl_javascript@nhn.com> */ 'use strict'; 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;