remove classList support

This commit is contained in:
Fabian Jakobs 2011-12-13 12:21:30 +01:00
commit c93d1e209a

View file

@ -57,69 +57,51 @@ exports.setText = function(elem, text) {
} }
}; };
if (!document.documentElement.classList) { exports.hasCssClass = function(el, name) {
exports.hasCssClass = function(el, name) { var classes = el.className.split(/\s+/g);
var classes = el.className.split(/\s+/g); return classes.indexOf(name) !== -1;
return classes.indexOf(name) !== -1; };
};
/** /**
* Add a CSS class to the list of classes on the given node * Add a CSS class to the list of classes on the given node
*/ */
exports.addCssClass = function(el, name) { exports.addCssClass = function(el, name) {
if (!exports.hasCssClass(el, name)) { if (!exports.hasCssClass(el, name)) {
el.className += " " + name; el.className += " " + name;
}
};
/**
* Remove a CSS class from the list of classes on the given node
*/
exports.removeCssClass = function(el, name) {
var classes = el.className.split(/\s+/g);
while (true) {
var index = classes.indexOf(name);
if (index == -1) {
break;
} }
}; classes.splice(index, 1);
}
el.className = classes.join(" ");
};
/** exports.toggleCssClass = function(el, name) {
* Remove a CSS class from the list of classes on the given node var classes = el.className.split(/\s+/g), add = true;
*/ while (true) {
exports.removeCssClass = function(el, name) { var index = classes.indexOf(name);
var classes = el.className.split(/\s+/g); if (index == -1) {
while (true) { break;
var index = classes.indexOf(name);
if (index == -1) {
break;
}
classes.splice(index, 1);
} }
el.className = classes.join(" "); add = false;
}; classes.splice(index, 1);
}
if(add)
classes.push(name);
exports.toggleCssClass = function(el, name) { el.className = classes.join(" ");
var classes = el.className.split(/\s+/g), add = true; return add;
while (true) { };
var index = classes.indexOf(name);
if (index == -1) {
break;
}
add = false;
classes.splice(index, 1);
}
if(add)
classes.push(name);
el.className = classes.join(" ");
return add;
};
} else {
exports.hasCssClass = function(el, name) {
return el.classList.contains(name);
};
exports.addCssClass = function(el, name) {
el.classList.add(name);
};
exports.removeCssClass = function(el, name) {
el.classList.remove(name);
};
exports.toggleCssClass = function(el, name) {
return el.classList.toggle(name);
};
}
/** /**
* Add or remove a CSS class from the list of classes on the given node * Add or remove a CSS class from the list of classes on the given node