addClass

Benchmark created on


Preparation HTML

<input type="text" class="one two three" value="none" id="test" />

Setup

window.cssRemoveClass1 = function(el, old_cls) {
        var classes, index;
        classes = el.className.trim().split(' ');
        index = classes.indexOf(old_cls);
        if (index > -1) {
          classes.splice(index, 1);
          return el.className = classes.join(' ');
        }
      };
    
    window.cssRemoveClass2 = function(el, old_cls) {
        var rxp = new RegExp('^' + old_cls + '\s+|' + old_cls + '|\s+' + old_cls + '$','');
        el.className = el.className.trim().replace(rxp, ' ');
      };

Test runner

Ready to run.

Testing in
TestOps/sec
window.cssHasClass1
window.cssRemoveClass1(document.getElementById('test'), 'two');
ready
window.cssHasClass2
window.cssRemoveClass2(document.getElementById('test'), 'two');
ready

Revisions

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