-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdom.min.js
1 lines (1 loc) · 1.56 KB
/
dom.min.js
1
var Dom=function(e){var t="classes",n="elements",r=this,i="values",s=[document],o="elements";var u=function(e,t){return e.indexOf(t)>-1};var a=function(e){return e.hasOwnProperty("value")?"value":"innerHTML"};var f=function(e){return e[a(e)]};r.select=function(e){var t,n,i,o=[];for(n=0;n<s.length;n++){t=s[n].querySelectorAll(e);for(i=0;i<t.length;i++){if(!u(o,t[i])){o.push(t[i])}}}s=o;return r};r.on=function(e){if(u([t,n,i],e)){o=e}return r};r.all=function(){var e=[],r,a,l;switch(o){case t:for(r in s){for(a=0;a<s[r].classList.length;a++){l=s[r].classList[a];if(!u(e,l)){e.push(l)}}}break;case n:e=s;break;case i:for(r in s){l=f(s[r]);if(!u(e,l)){e.push(l)}}break}return e};r.count=function(){return s.length};r.first=function(){return r.only(0)};r.last=function(){return r.only(s.length-1)};r.only=function(e){var n=s[e];switch(o){case t:n=n.classList;break;case i:n=f(n);break}return n};r.add=function(e){for(var u in s){switch(o){case t:s[u].classList.add(e);break;case n:s[u].appendChild(e);break;case i:s[u][a(s[u])]+=e;break}}return r};r.remove=function(e){var f,l;switch(o){case t:if(u(s,e)){s[e].className=""}else{for(var f in s){s[f].classList.remove(e)}}break;case n:if(s[e]!=undefined){if(typeof s[e].remove=="function"){s[e].remove()}delete s[e]}break;case i:s[e][a(s[f])]="";break}return r};r.removeAll=function(){for(var e in s){switch(o){case t:s[e].className="";break;case n:if(typeof s[e].remove=="function"){s[e].remove()}delete s[e];break;case i:s[e][a(s[e])]="";break}}return r};if(typeof e=="string"){r.select(e)}else if(typeof e.innerHTML=="string"){s=[e]}return r}