Управление DOM с помощью JavaScript в современных браузерах и IE 11+
Предположим, что мы хотим выяснить, является ли элемент child
потомком parent
элемента.
const isDescendant = parent.contains(child);
// Check if `child` is a descendant of `parent`
const isDescendant = function(parent, child) {
let node = child.parentNode;
while (node) {
if (node === parent) {
return true;
}
// Traverse up to the parent
node = node.parentNode;
}
// Go up until the root but couldn't find the `parent`
return false;
};