remove classList support

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

View file

@ -57,25 +57,24 @@ 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 * Remove a CSS class from the list of classes on the given node
*/ */
exports.removeCssClass = function(el, name) { exports.removeCssClass = function(el, name) {
var classes = el.className.split(/\s+/g); var classes = el.className.split(/\s+/g);
while (true) { while (true) {
var index = classes.indexOf(name); var index = classes.indexOf(name);
@ -85,9 +84,9 @@ if (!document.documentElement.classList) {
classes.splice(index, 1); classes.splice(index, 1);
} }
el.className = classes.join(" "); el.className = classes.join(" ");
}; };
exports.toggleCssClass = function(el, name) { exports.toggleCssClass = function(el, name) {
var classes = el.className.split(/\s+/g), add = true; var classes = el.className.split(/\s+/g), add = true;
while (true) { while (true) {
var index = classes.indexOf(name); var index = classes.indexOf(name);
@ -102,24 +101,7 @@ if (!document.documentElement.classList) {
el.className = classes.join(" "); el.className = classes.join(" ");
return add; 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