Вопрос

У меня есть следующий 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');

Но , похоже , это не работает ?

Есть какие - нибудь идеи ?

Это было полезно?

Решение

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

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

Тебе нужно это сделать:

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

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

Другие советы

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

jQuery добавить класс Ссылка на API

Попробуй это

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

или

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

.....

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

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

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

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

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

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

jQuery('#testID2').addClass('test3').removeClass('test2');
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top