Skip to content

Instantly share code, notes, and snippets.

@greg-raven
Created September 3, 2022 11:54
Show Gist options
  • Save greg-raven/3480d4d2961b77e5a4fcd90ac6ba7d5b to your computer and use it in GitHub Desktop.
Save greg-raven/3480d4d2961b77e5a4fcd90ac6ba7d5b to your computer and use it in GitHub Desktop.
Vanilla JavaScript addClass
function addClass(elements, myClass) {
// if there are no elements, we're done
if (!elements) {
return;
}
// if we have a selector, get the chosen elements
if (typeof elements === "string") {
elements = document.querySelectorAll(elements);
}
// if we have a single DOM element, make it an array to simplify behavior
else if (elements.tagName) {
elements = [elements];
}
// add class to all chosen elements
for (var i = 0; i < elements.length; i++) {
// if class is not already found
if ((" " + elements[i].className + " ").indexOf(" " + myClass + " ") < 0) {
// add class
elements[i].className += " " + myClass;
}
}
}
@greg-raven
Copy link
Author

/*

  • <script src="addClass.js"></script>
  • <script>
  • addClass('#iddiv','highlight');
  • addClass('.classdiv','red');
  • </script>
  • does not add classes to HTML elements loaded via ajax
    */

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment