Toggle navigation
MeasureThat
.net
Create a benchmark
Tools
Feedback
Feature Requests
FAQ
Register
Log In
Run results for:
className vs. setAttribute data attribute vs. classList
Evaluate setting data attributes vs classes
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Mobile/15E148 Safari/604.1
Browser:
Mobile Safari 17
Operating system:
iOS 17.4
Device Platform:
Mobile
Date tested:
2 years ago
Benchmark engine:
Benchmark.js
className
69K/s
setAttribute
31K/s
classList
26K/s
View exact numbers
Test name
Executions per second
✓
className
68,532 Ops/sec
setAttribute
30,764 Ops/sec
classList
26,123 Ops/sec
HTML Preparation code:
<div id="foo"></div>
Tests:
className
var element = document.getElementById("foo"); var i = 1000; while (i--) { element.className = "is-active"; }
setAttribute
var element = document.getElementById("foo"); var i = 1000; while (i--) { element.setAttribute("data-state", "active"); }
classList
var element = document.getElementById("foo"); var i = 1000; while (i--) { element.classList.add("is-active"); }