Class vs. Style (v22)

Revision 22 of this benchmark created on


Preparation HTML

<link type="text/​css" rel="stylesheet" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​ym/​r/​0IWqL9QdryP.css"><link type="text/​css" rel="stylesheet" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yi/​r/​6mu9cKoeNEH.css"><link type="text/​css" rel="stylesheet" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yZ/​r/​NN41nG1WF81.css"><link type="text/​css" rel="stylesheet" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yi/​r/​4Ad8t6VO09x.css"><link type="text/​css" rel="stylesheet" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yx/​r/​gt-XKIEXk-v.css"><link type="text/​css" rel="stylesheet" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yL/​r/​UgR3TLMR1Gs.css"><link type="text/​css" rel="stylesheet" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yB/​r/​bJokJcILHXf.css"><link type="text/​css" rel="stylesheet" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yA/​r/​hX4R4eGt6UY.css"><link type="text/​css" rel="stylesheet" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yu/​r/​Xp6QbK0u87B.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yq/​r/​lTFzEtweDJq.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yA/​r/​x-kPPHyYynG.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yP/​r/​we1yE6HBaIT.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​y6/​r/​MmmS_1VwZd_.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yC/​r/​cyV0fkN_OPs.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​y7/​r/​6m8T4weR9uL.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yv/​r/​_59vonvuOI2.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​y0/​r/​dysuIzf5_eT.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​y3/​r/​ft7zPnQpWQr.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​y8/​r/​68VedLmFTjM.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yp/​r/​2II7rKpRdab.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yH/​r/​u1HZ8C_sSrO.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yM/​r/​bjFzgszCuGH.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yv/​r/​7MhX1E1Hfj1.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​y4/​r/​v-pq59JrOzg.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yq/​r/​sjDTtNHBYcZ.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​y0/​r/​mUE91iakQO0.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yv/​r/​XcVq6FKKx-L.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yH/​r/​xGLHT4Cy9hd.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​y5/​r/​Hi127tWiKAW.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yY/​r/​7fTLr3r_rL9.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yA/​r/​au2VO6GnNyR.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yc/​r/​CW57S-FScs5.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yd/​r/​wPBg5rISD6H.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yt/​r/​TKF7jsVii5X.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yI/​r/​HPHaEVWv1vx.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yE/​r/​FkQhFCcY8gd.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​y6/​r/​3X6pQUjD5uV.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yc/​r/​c2yqubXIlq3.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yh/​r/​pr6Qvh9tQ-_.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​y-/​r/​vXLpvzTIfQL.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yr/​r/​Kk-7RWyqSAU.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yI/​r/​tdlxHAAff3b.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yA/​r/​6kueMRGGTYa.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yI/​r/​UKRIkl_k-KH.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​ys/​r/​WWpFX8dc0TZ.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yH/​r/​7nAEbWaShDo.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yh/​r/​f8cA7ek3Kba.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​ye/​r/​J8dmYlVZfDe.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​ys/​r/​MDvyFmoC2TZ.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​y3/​r/​rnPwdiealZG.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​ye/​r/​LHsRG5U27le.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yj/​r/​NL_NG6u1I-i.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​y4/​r/​Cl9akV4oEnw.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yS/​r/​39fcCcyfRnU.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yn/​r/​0SNdVS-Dx1c.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yD/​r/​3_EJmK0KsAZ.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yS/​r/​JSJzS5FlD7c.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​y-/​r/​FLUr0ygUVRo.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yx/​r/​zZWYYfBHZjo.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yd/​r/​TOUT5lFx7UL.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​y3/​r/​xoPJjjuooAp.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yE/​r/​vCy_2aLh2Ql.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​yB/​r/​StmYxRixoDd.css"><link rel="stylesheet" type="text/​css" href="https:​/​/​fbstatic-a.akamaihd.net/​rsrc.php/​v2/​ya/​r/​3W3pMbX3iMj.css"><style>
  .one { background: red; width: 100px; height: 100px; }
  .two { background: blue; width: 50px; height: 50px; }
</style>
<div id="candidate"></div>

Setup

var candidate = document.getElementById('candidate');

Test runner

Ready to run.

Testing in
TestOps/sec
Class (className)
candidate.className = 'one';
candidate.className = 'two';
if (candidate.getBoundingClientRect().width > 1000) {
  console.log('never going to happen');
}
ready
Class (setAttribute)
candidate.setAttribute('class', 'one');
candidate.setAttribute('class', 'two');
if (candidate.getBoundingClientRect().width > 1000) {
  console.log('never going to happen');
}
ready
Style
candidate.style.background = 'red';
candidate.style.width = '100px';
candidate.style.height = '100px';

candidate.style.background = 'blue';
candidate.style.width = '50px';
candidate.style.height = '50px';
if (candidate.getBoundingClientRect().width > 1000) {
  console.log('never going to happen');
}
ready
Style (setAttribute)
candidate.setAttribute('style', 'background: red; width: 100px; height: 100px;');
candidate.setAttribute('style', 'background: blue; width: 50px; height: 50px;');
if (candidate.getBoundingClientRect().width > 1000) {
  console.log('never going to happen');
}
ready
ClassList
candidate.classList.add("one");
candidate.classList.remove("one");
candidate.classList.add("two");
if (candidate.getBoundingClientRect().width > 1000) {
  console.log('never going to happen');
}
ready

Revisions

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