Run details:
Mozilla/5.0 (Android 11; Mobile; rv:103.0) Gecko/103.0 Firefox/103.0
Firefox Mobile 103
Android
Mobile
2 years ago
Test name Executions per second
dataset 421.2 Ops/sec
getAttribute 65235.4 Ops/sec
jQuery .data() 197.3 Ops/sec
jQuery .attr() 133.3 Ops/sec
HTML Preparation code:
AخA
 
1
<h3 id="data" data-test="text">kipr202 header</h3>
2
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js" integrity="sha512-bLT0Qm9VnAYZDflyKcBaQ2gg0hSYNQrJ8RilYldYQ1FxQYoCLtUjuuRuZo+fjqhx/qtq/1itJ0C2ejDxltZVFg==" crossorigin="anonymous"></script>
Tests:
  • dataset

     
    var element = document.getElementById("data");
    var i = 10000;
    while (i--) {
    var value = element.dataset.test;
    }
  • getAttribute

     
    var element = document.getElementById("data");
    var i = 10000;
    while (i--) {
    var value = element.getAttribute("test");
    }
  • jQuery .data()

     
    var element = $("#data");
    var i = 10000;
    while (i--) {
    var value = element.data("test");
    }
  • jQuery .attr()

     
    var element = $("#data");
    var i = 10000;
    while (i--) {
    var value = element.attr("data-test");
    }