jQuery Находит #ID, удаляет класс и добавляет класс
-
18-09-2019 - |
Вопрос
У меня есть следующий 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');