Created
June 6, 2017 23:11
-
-
Save drzhbe/5e3a1af775a5fad9d77e7a0f84518947 to your computer and use it in GitHub Desktop.
DOM helpers
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
What's better way to find a class match – `classes.indexOf(className)` or `for loop + return`? | |
*/ | |
function hasClass(el, className) { | |
var classes = el.className.split(' '); | |
for (var i = 0; i < classes.length; i++) { | |
if (classes[i] === className) { | |
return true; | |
} | |
} | |
return false; | |
} | |
function addClass(el, className) { | |
var classes = el.className.split(' '); | |
for (var i = 0; i < classes.length; i++) { | |
if (classes[i] === className) { | |
return; | |
} | |
} | |
classes.push(className); | |
el.className = classes.join(' '); | |
} | |
function removeClass(el, className) { | |
// assume using our addClass, which excludes duplicate classes | |
var classes = el.className.split(' '); | |
for (var i = 0; i < classes.length; i++) { | |
if (classes[i] === className) { | |
break; | |
} | |
} | |
classes.splice(i, 1); | |
el.className = classes.join(' '); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment