tricks
Version:
ES6 modules
21 lines (17 loc) • 434 B
JavaScript
import each from './each.js';
import addClass from './addClass.js';
import removeClass from './removeClass.js';
import hasClass from './hasClass.js';
export default (elements, className, condition) => {
if (typeof(condition) !== 'function') {
condition = el => !hasClass(el, className);
}
return each(elements, el => {
if (condition(el)) {
addClass(el, className);
}
else {
removeClass(el, className);
}
});
};