classname

Easy configuration of class names

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
classname
900.0.07 years ago7 years agoMinified + gzip package size for classname in KB

Readme

classname v.0.0.1
Simple tool to build (and apply) classes. This is very much inspired by Jed Watson's classnames, but with added functionality and slight differences in interface.

Install

Npm: npm install classname
Or just load classname.js in your browser, and call it directly.

Documentation

classname(1, 'one', false, 'two'); // '1 one two'

classname({
    one: true,
    two: false,
    three: true
});
// 'one three'

classname(['one', 'two'], {one: false, three: true});
// 'two three'

Objects always overwrite other types of parameters
classname({one: false}, ['one', 'two']);
// 'two'

classname handles more than string, numbers, arrays, and objects though. You can give it elements, nodelists, or jQuery elements too.
classname(document.querySelectorAll('.foo'), 'bar');
// 'foo bar' (assuming that the found elements do not have other class names as well)

classname can also set the class to the element for you. Use .setTo():
var el = document.getElementById('foo');

classname.setTo(el)('one', 'two');

el.className; // 'one two'