removeClass

Benchmark created by sofish on


Description

remove classname form element

Preparation HTML

<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>

Test runner

Ready to run.

Testing in
TestOps/sec
Mootools
r = removeClassMootools(el, 'ume');
ready
Tangram
r = removeClassTangram(el, 'ume');
ready
newMootools
r = removeClassNewMootools(el, 'ume')
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.

  • Revision 1: published by sofish on