/*
* dom操作
* Cdom('li').addClass('a', 'b').css('color', 'red').removeClass('a', 'b');
*/
Cdom = (() => {
_dom = function (elem, wrap) {
return new _dom.init(elem, wrap);
};
_dom.init = function (elem, wrap) {
switch (typeof elem) {
case 'object':
this[0] = elem;
this.length = 1;
break;
case 'string':
wrap && wrap[0] && (wrap = wrap[0]);
elem = (wrap || document).querySelectorAll(elem);
for (var i = 0; i < elem.length; i++) {
this[i] = elem[i];
}
this.length = elem.length;
break;
}
return this;
};
_dom.init.prototype = _dom.prototype = {
addClass: function (val, val_1, val_2) {
if (val_2) {
for (var i = 0; i < this.length; i++) {
this[i].classList.add(val, val_1, val_2);
}
} else if (val_1) {
for (var i = 0; i < this.length; i++) {
this[i].classList.add(val, val_1);
}
} else {
for (var i = 0; i < this.length; i++) {
this[i].classList.add(val);
}
}
return this;
},
removeClass: function (val, val_1, val_2) {
for (var i = 0; i < this.length; i++) {
this[i].classList.remove(val, val_1, val_2);
}
return this;
},
css: function (attr, val) {
for (var i = 0; i < this.length; i++) {
if (val == undefined) {
if (typeof attr === 'object') {
for (var key in attr) {
this.css(key, attr[key]);
}
} else if (typeof attr === 'string') {
return getComputedStyle(this[i])[attr];
}
} else {
this[i].style[attr] = val;
}
}
return this;
},
html: function (_content) {
for (var i = 0; i < this.length; i++) {
this[i].innerHTML = _content;
}
return this;
}
};
return _dom;
})();