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 ?
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.
$('#testID2').addClass('test3').removeClass('test2');
jQuery addClass API reference
Try this
$('#testID').addClass('nameOfClass');
or
$('#testID').removeClass('nameOfClass');
.....
$("#testID #testID2").removeClass("test2").addClass("test3");
Because you have assigned an id to img too, you can simply do this too:
$("#testID2").removeClass("test2").addClass("test3");
And finally, you can do this too:
$("#testID img").removeClass("test2").addClass("test3");
corrected Code:
jQuery('#testID2').addClass('test3').removeClass('test2');
来源:https://stackoverflow.com/questions/2407179/jquery-find-id-removeclass-and-addclass