2010-03-09 16 views
16

Ich habe folgende HTMLJQuery Finden #ID, removeClass und AddClass

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

Ich möchte im Grunde # testID2 und ersetzen .test2 Klasse mit .test3 Klasse bekommen?

Ich versuchte

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

Aber das scheint nicht zu funktionieren?

Irgendwelche Ideen?

Antwort

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

Semantisch Sie mit der ID testID2 das Element auswählen und dann Sie suchen nach absteigenden Elementen mit der Klasse test2 (existiert nicht) und dann ersetzen Sie dieses Element durch ein anderes Element (Elemente an beliebiger Stelle auf der Seite mit der Klasse test3), die ebenfalls nicht vorhanden sind.

Sie müssen dies tun:

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

Dieses das Element mit der testID2 ID auswählt, fügt dann die Klasse test3 zu. Zuletzt entfernt es die Klasse test2 von diesem Element.

+0

+ über 1000 schieben. Schöne Erklärung. –

+0

vielen dank :) – Tom

0

Versuchen Sie, diese

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

oder

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

.....

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

Weil Sie eine ID auch auf img zugewiesen haben, können Sie dies einfach tun zu:

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

Und schließlich können Sie dies auch tun:

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

korrigiert Code:

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