JQuery Find #ID, RemoveClass и AddClass

У меня есть следующий HTML-код

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

Я в основном хочу перейти на # testID2 и заменить класс .test2 на класс .test3?

Я пытался

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

Но это не работает?

Любые идеи ?


person Tom    schedule 09.03.2010    source источник


Ответы (5)


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

Семантически вы выбираете элемент с идентификатором testID2, затем ищете любые дочерние элементы с классом test2 (не существует), а затем вы заменяете этот элемент другим элементом (элементы где угодно на странице с классом test3) которых тоже не существует.

Вам нужно сделать это:

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

Это выбирает элемент с идентификатором testID2, а затем добавляет к нему класс test3. Наконец, он удаляет класс test2 из этого элемента.

person Dominic Barnes    schedule 09.03.2010
comment
+ подтолкнуть более 1000. Хорошее объяснение. - person ; 09.03.2010

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

jQuery addClass Справочник по API

person Amarghosh    schedule 09.03.2010

Попробуй это

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

or

$('#testID').removeClass('nameOfClass');
person Jack    schedule 09.03.2010

.....

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

Поскольку вы также назначили id для img, вы также можете просто сделать это:

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

И, наконец, вы тоже можете это сделать:

$("#testID img").removeClass("test2").addClass("test3");
person Sarfraz    schedule 09.03.2010

исправленный код:

jQuery('#testID2').addClass('test3').removeClass('test2');
person Jibu K    schedule 18.06.2013