Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Element.prototype.parents = function (selector) {
- var parent = this.parentElement;
- var id = selector.match(/#[^#\.]+/);
- if (id instanceof Array) {
- id = id[0].replace('#', '');
- while (parent.id != id && parent !== null) {
- parent = parent.parentElement;
- }
- return parent;
- }
- var name = selector.match(/^[^#\.]+/);
- var classes = selector.match(/\.[^#\.]+/g);
- while (parent !== null) {
- if (name instanceof Array && parent.nodeName != name[0].toUpperCase()) {
- parent = parent.parentElement;
- continue;
- }
- if (classes instanceof Array) {
- var containClasses = true;
- classes.forEach(function (c) {
- if (!parent.classList.contains(c.replace('.', ''))) containClasses = false;
- });
- if (!containClasses) {
- parent = parent.parentElement;
- continue;
- }
- }
- break;
- }
- return parent;
- };
Advertisement
Add Comment
Please, Sign In to add comment