14 (
function( window ) {
20 function classReg( className ) {
21 return new RegExp(
"(^|\\s+)" + className +
"(\\s+|$)");
26 var hasClass, addClass, removeClass;
28 if (
'classList' in document.documentElement ) {
29 hasClass =
function( elem, c ) {
30 return elem.classList.contains( c );
32 addClass =
function( elem, c ) {
33 elem.classList.add( c );
35 removeClass =
function( elem, c ) {
36 elem.classList.remove( c );
40 hasClass =
function( elem, c ) {
41 return classReg( c ).test( elem.className );
43 addClass =
function( elem, c ) {
44 if ( !hasClass( elem, c ) ) {
45 elem.className = elem.className +
' ' + c;
48 removeClass =
function( elem, c ) {
49 elem.className = elem.className.replace( classReg( c ),
' ' );
53 function toggleClass( elem, c ) {
54 var fn = hasClass( elem, c ) ? removeClass : addClass;
62 removeClass: removeClass,
63 toggleClass: toggleClass,
72 if ( typeof define ===
'function' && define.amd ) {
77 window.classie = classie;