JQuery Find #ID, RemoveClass and AddClass

144,165

Solution 1

jQuery('#testID2').find('.test2').replaceWith('.test3');

Semantically, you are selecting the element with the ID testID2, then you are looking for any descendent elements with the class test2 (does not exist) and then you are replacing that element with another element (elements anywhere in the page with the class test3) that also do not exist.

You need to do this:

jQuery('#testID2').addClass('test3').removeClass('test2');

This selects the element with the ID testID2, then adds the class test3 to it. Last, it removes the class test2 from that element.

Solution 2

$('#testID2').addClass('test3').removeClass('test2');

jQuery addClass API reference

Solution 3

Try this

$('#testID').addClass('nameOfClass');

or

$('#testID').removeClass('nameOfClass');
Share:
144,165
Tom
Author by

Tom

Updated on October 23, 2020

Comments

  • Tom
    Tom over 3 years

    I have the following HTML

    <div id="testID" class="test1">
            <img id="testID2" class="test2" alt="" src="some-image.gif" />
        </div>
    

    I basically want to get to #testID2 and replace .test2 class with .test3 class ?

    I tried

    jQuery('#testID2').find('.test2').replaceWith('.test3');
    

    But this doesn't appear to work ?

    Any ideas ?