/**
|
* @fileoverview Remove css class from element
|
* @author NHN FE Development Lab <dl_javascript@nhn.com>
|
*/
|
|
'use strict';
|
|
var forEachArray = require('../collection/forEachArray');
|
var inArray = require('../array/inArray');
|
var getClass = require('./getClass');
|
var setClassName = require('./_setClassName');
|
|
/**
|
* Remove css class from element
|
* @param {(HTMLElement|SVGElement)} element - target element
|
* @param {...string} cssClass - css classes to remove
|
* @memberof module:domUtil
|
*/
|
function removeClass(element) {
|
var cssClass = Array.prototype.slice.call(arguments, 1);
|
var classList = element.classList;
|
var origin, newClass;
|
|
if (classList) {
|
forEachArray(cssClass, function(name) {
|
classList.remove(name);
|
});
|
|
return;
|
}
|
|
origin = getClass(element).split(/\s+/);
|
newClass = [];
|
forEachArray(origin, function(name) {
|
if (inArray(name, cssClass) < 0) {
|
newClass.push(name);
|
}
|
});
|
|
setClassName(element, newClass);
|
}
|
|
module.exports = removeClass;
|