-
Louis authoredUnverified2e359d71
Batch.js 3.79 KiB
tinyDOM.fn = TinyDOMFunction.prototype = {
each: function (fn) {
var l = this.length;
while (l--) {
fn(l, this[l], this);
}
return this;
},
on: function (ev, del, fn) {
if (typeof (del) === 'string') {
this.each(function (i, e) {
e.addEventListener(ev, function (firedevent) {
var target = firedevent.target,
matched = false;
do {
if (target && target.matches(del)) {
fn.call(target, firedevent);
matched = true;
} else {
target = target.parentNode;
if (!target || !target.matches || target === e) {
matched = true;
}
}
} while (matched !== true);
});
});
} else {
fn = del;
this.each(function (i, e) {
e.addEventListener(ev, fn);
});
}
return this;
},
first: function () {
if (typeof (this[0]) !== 'undefined') {
return tinyDOM(this[0]);
} else {
return null;
}
},
parent: function (selector) {
var e = this[0].parentNode, stn = true;
if (tinyDOM.exists(selector)) {
while (e !== null && e !== document) {
if (e.matches(selector)) {
stn = false;
break;
} else {
e = e.parentNode;
}
}
e = stn ? null : e;
}
return tinyDOM(e);
},
children: function (selector) {
var n = this[0].childNodes,
a = [],
i;
for (i = 0; i < n.length; i++) {
if (tinyDOM.isElement(n[i])) {
if (mu.exists(selector)) {
if(n[i].matches(selector)) {
a.push(n[i]);
}
} else {
a.push(n[i]);