jquery.css vs getComputedStyle (v2)

Revision 2 of this benchmark created by wch on


Preparation HTML

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<style>
  #wrap1 {
    width:300px;
    margin:10px;
    padding:10px;
    border:10px solid black;
  }

  #wrap2 {
    margin:10px;
    padding:10px;
    border:10px solid red;
  }

  #myDiv {
    margin:10px;
    padding:10px;
    border:10px solid blue;
  }
</style>

<div id="wrap1">
  <div id="wrap2">
    <div id="myDiv">
      Test
    </div>
  </div>
</div>

Setup

var myDiv = document.getElementById('myDiv');
  var $myDiv = $(myDiv);
  
  // getComputedStyle isn't compatible with all older browsers (notably IE),
  // so this is a wrapper function that works with those browsers.
  // From http://www.quirksmode.org/dom/getstyles.html
  function getStyle(el, styleProp) {
    if (el.currentStyle)
      var y = el.currentStyle[styleProp];
    else if (window.getComputedStyle)
      var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
    return y;
  }

Test runner

Ready to run.

Testing in
TestOps/sec
jquery .css()
var npaddingTop = $myDiv.css('padding-top');
ready
getComputedStyle()
var npaddingTop = getComputedStyle(myDiv).paddingTop;
ready
getStyle()
var npaddingTop = getStyle(myDiv, 'padding-top');
ready

Revisions

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