Toggle navigation
MeasureThat
.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
hasAttribute vs. getAttribute vs. classList.contains
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36 Edg/146.0.0.0
Browser:
Chrome 146
Operating system:
Windows
Device Platform:
Desktop
Date tested:
4 months ago
hasAttribute single
33.2M/s
hasAttribute
19.8M/s
getAttribute single
19.1M/s
getAttribute
18.4M/s
classList single
17.9M/s
classList
17.5M/s
View exact numbers
Test name
Executions per second
✓
hasAttribute single
33,201,924 Ops/sec
hasAttribute
19,811,070 Ops/sec
getAttribute single
19,131,410 Ops/sec
getAttribute
18,429,714 Ops/sec
classList single
17,932,164 Ops/sec
classList
17,511,880 Ops/sec
HTML Preparation code:
<div id="foo" class="foo bar buz ignore" style="display:block" width="500" height="600" title="TEST" is-ignore="true" ignore></div> <div id="bar" ignore></div> <div id="buz" is-ignore="true"></div> <div id="foobar" class="foo ignore"></div>
Tests:
hasAttribute
var element = document.getElementById("foo"); var isIgnored = element.hasAttribute('ignore');
getAttribute
var element = document.getElementById("foo"); var isIgnored = element.getAttribute('is-ignore') === "true";
classList
var element = document.getElementById("foo"); var isIgnored = element.classList.contains('ignore');
hasAttribute single
var element = document.getElementById("bar"); var isIgnored = element.hasAttributes('ignore');
getAttribute single
var element = document.getElementById("buz"); var isIgnored = element.getAttribute('is-ignore') === "true";
classList single
var element = document.getElementById("foobar"); var isIgnored = element.classList.contains('ignore');