jQuery .data() performance vs .attr() performance vs elem.getAttribute() (v39)

Revision 39 of this benchmark created on


Preparation HTML

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js">
</script>
<input type="text" id="theInput" value="foo">
</input>
<script>
  var dom = document.getElementById("theInput");
  var $dom = $(dom);
  $dom.attr('someAttr', 'theValue').data('someData', 'theValue');
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
Attribute set
dom.setAttribute('someAttr', 'test1');
ready
Data set
$dom.data('someData', 'test1');
ready
Direct data set
$.data($dom, 'someData', 'test1');
ready
jQuery attr() set
$dom.attr('someAttr', 'test1');
ready
Attribute set with jQuery object
$dom[0].setAttribute('someAttr', 'test1');
ready
attr() get
var test = $dom.attr('someAttr')
ready
data() get
var test = $dom.data('someData')
ready
attribute get
var test = $dom[0].getAttribute('someAttr');
ready
$.data get
var test = $.data($dom[0], 'someAttr');
ready

Revisions

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