Skip to content

Instantly share code, notes, and snippets.

@ziggi
Last active August 11, 2022 16:10

Revisions

  1. ziggi revised this gist May 22, 2020. No changes.
  2. ziggi created this gist Apr 13, 2015.
    17 changes: 17 additions & 0 deletions parents.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,17 @@
    Element.prototype.parents = function(selector) {
    var elements = [];
    var elem = this;
    var ishaveselector = selector !== undefined;

    while ((elem = elem.parentElement) !== null) {
    if (elem.nodeType !== Node.ELEMENT_NODE) {
    continue;
    }

    if (!ishaveselector || elem.matches(selector)) {
    elements.push(elem);
    }
    }

    return elements;
    };