Javascript – How to add a class to a given element


I have an element that already has a class:

<div class="someclass">
    <img ... id="image1" name="image1" />

Now, I want to create a JavaScript function that will add a class to the div (not replace, but add).

How can I do that?

Best Solution

If you're only targeting modern browsers:

Use element.classList.add to add a class:


And element.classList.remove to remove a class:


If you need to support Internet Explorer 9 or lower:

Add a space plus the name of your new class to the className property of the element. First, put an id on the element so you can easily get a reference.

<div id="div1" class="someclass">
    <img ... id="image1" name="image1" />


var d = document.getElementById("div1");
d.className += " otherclass";

Note the space before otherclass. It's important to include the space otherwise it compromises existing classes that come before it in the class list.

See also element.className on MDN.