123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- var toArr = require('./toArr');
- var some = require('./some');
- var $safeEls = require('./$safeEls');
- var isStr = require('./isStr');
- var each = require('./each');
- exports = {
- add: function(els, name) {
- els = $safeEls(els);
- var names = safeName(name);
- each(els, function(el) {
- var classList = [];
- each(names, function(name) {
- if (!exports.has(el, name)) classList.push(name);
- });
- if (classList.length !== 0) {
- el.className += (el.className ? ' ' : '') + classList.join(' ');
- }
- });
- },
- has: function(els, name) {
- els = $safeEls(els);
- var regName = new RegExp('(^|\\s)' + name + '(\\s|$)');
- return some(els, function(el) {
- return regName.test(el.className);
- });
- },
- toggle: function(els, name) {
- els = $safeEls(els);
- each(els, function(el) {
- if (!exports.has(el, name)) return exports.add(el, name);
- exports.remove(el, name);
- });
- },
- remove: function(els, name) {
- els = $safeEls(els);
- var names = safeName(name);
- each(els, function(el) {
- each(names, function(name) {
- el.classList.remove(name);
- });
- });
- }
- };
- function safeName(name) {
- return isStr(name) ? name.split(/\s+/) : toArr(name);
- }
- module.exports = exports;
|