removeClass
JavaScript performance comparison
Info
remove classname form element
Preparation code
<div id="sofish" class="abc def ghi jkl some ume html5 love">
hi classname
</div>
<script>
var removeClassMootools = function(elem, className) {
elem.className = elem.className.replace(new RegExp('(^|\\s)' + className + '(?:\\s|$)'), '$1');
return elem;
},
removeClassTangram = function(element, className) {
var oldClasses = element.className.split(/\s+/).sort(),
newClasses = className.split(/\s+/).sort(),
i = oldClasses.length,
j = newClasses.length;
for (; i && j;) {
if (oldClasses[i - 1] == newClasses[j - 1]) {
oldClasses.splice(--i, 1);
} else if (oldClasses[i - 1] < newClasses[j - 1]) {
j--;
} else {
i--;
}
}
element.className = oldClasses.join(' ');
return element;
},
removeClassNewMootools = function(elem, className) {
className = className.split(/\s+/);
var i, len = className.length,
c;
for (i = len; i >= 0; i--) {
c = className[i];
elem.className = elem.className.replace(new RegExp('(^|\\s)' + c + '(?:\\s|$)'), '$1');
}
return elem
};
var el = document.getElementById('sofish'),
r;
</script>
Preparation code output
hi classname
Test runner
Warning! For accurate results, please disable Firebug before running the tests. (Why?)
Java applet disabled.
| Test | Ops/sec | |
|---|---|---|
Mootools |
|
pending… |
Tangram |
|
pending… |
newMootools |
|
pending… |
You can edit these tests or add even more tests to this page by appending /edit to the URL.
0 comments