2010-03-09 16 views
16

Ho il seguente codice HTMLJQuery Trova #ID, removeClass e AddClass

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

Io fondamentalmente voglio arrivare a # testID2 e sostituire .test2 classe con .test3 classe?

ho cercato

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

Ma questo non sembra funzionare?

Qualche idea?

risposta

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

vista semantico, si sta selezionando l'elemento con l'ID testID2, poi stai cercando elementi discendenti con la classe test2 (non esiste) e quindi stai sostituendo quell'elemento con un altro elemento (elementi ovunque nella pagina con la classe test3) che anch'essi non esistono.

Hai bisogno di fare questo:

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

Questo seleziona l'elemento con l'ID testID2, quindi aggiunge la classe test3 ad esso. Infine, rimuove la classe test2 da quell'elemento.

+0

+ spingere oltre 1000. Bella spiegazione. –

+0

grazie mille :) – Tom

0

Prova questo

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

o

$('#testID').removeClass('nameOfClass'); 
0

.....

$("#testID #testID2").removeClass("test2").addClass("test3"); 

Perché è stato assegnato un ID a img troppo, si può semplicemente fare anche questo:

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

E, infine, si può fare anche questo:

$("#testID img").removeClass("test2").addClass("test3"); 
0

corretti Codice:

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