UNPKG

557 BPlain TextView Raw
1/**
2 * Copyright (c) 2017, Philip Walton <philip@philipwalton.com>
3 */
4
5/**
6 * Returns an array of a DOM element's parent elements.
7 * @param {!Element} element The DOM element whose parents to get.
8 * @return {!Array} An array of all parent elemets, or an empty array if no
9 * parent elements are found.
10 */
11export function parents(ele) {
12 const list = [];
13 let element = ele;
14 while (element && element.parentNode && element.parentNode.nodeType === 1) {
15 element = /** @type {!Element} */ element.parentNode;
16 list.push(element);
17 }
18 return list;
19}