JQuery: is .data() faster than .attr("data-...") (v4)

Revision 4 of this benchmark created on


Description

When you have an attribute data-... in a HTML element: Is it faster to get the value using $.data('...') or attr('data-...')

Preparation HTML

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<div id="myDiv" data-my-data="value"></div>

Setup

var $myDiv = $('#myDiv');
    var myDiv = $myDiv[0];

Test runner

Ready to run.

Testing in
TestOps/sec
$myDiv.data
$myDiv.data('my-data')
ready
$myDiv.attr
$myDiv.attr('data-my-data')
ready
$.attr(myDiv)
$.attr(myDiv, 'data-my-data')
ready
$.data(myDiv)
$.data(myDiv, 'my-data')
ready

Revisions

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

  • Revision 1: published by JQuery: is .data() faster than .attr("data-...") on
  • Revision 2: published by Jonas Middendorf on
  • Revision 3: published on
  • Revision 4: published on
  • Revision 5: published on
  • Revision 6: published on