jQuery.css() vs. native DOM (v47)

Revision 47 of this benchmark created by test on


Preparation HTML

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<div id="box">I'm a box</div>

<style>
.newClass{
  background: #FF0000;
  box-shadow: "1px 1px 5px 5px red";
  width: "100px";
  height: "100px";
  display: "block";
}
</style>

Setup

var el = document.getElementById("box");
  el.className = "";
  el.setAttribute("style", "");
  $el = $(el);
  
  var style = {
    background: "#FF0000",
    "box-shadow": "1px 1px 5px 5px red",
    width: "100px",
    height: "100px",
    display: "block"
  }

Teardown



            el = null;
        
  

Test runner

Ready to run.

Testing in
TestOps/sec
jQuery.css()
$el.css(style);
ready
Native DOM
el.style.background = "#FF0000";
el.style.width = "100px";
el.style.height = "100px";
el.style.display = "block";
el.style.boxShadow = "1px 1px 5px 5px red";
ready
string1
var keys = Object.keys(style);
var s = "";

for (var i = 0; i < style.length; i++) {
s += keys[i] + ":" + style[keys[i]] + ";";
}

el.setAttribute("style", s);
ready
string2
var keys = Object.keys(style);
var s = "";

for (var i = 0; i < style.length; i++) {
s += keys[i] + ":" + style[keys[i]] + ";";
}

el.style.cssText = s;
ready
loop
var keys = Object.keys(style);
var s = "";

for (var i = 0; i < style.length; i++) {
el.style[keys[i]] = style[keys[i]];
}
ready
loop2
var keys = Object.keys(style);
var s = "";

for (var i = 0; i < style.length; i++) {
el.style[$.camelCase(keys[i])] = style[keys[i]];
}
ready

Revisions

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