У меня есть следующий 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');
Это выбирает элемент с ID testID2
, затем добавляет к нему класс test3
. Наконец, он удаляет из этого элемента класс test2
.
.....
$("#testID #testID2").removeClass("test2").addClass("test3");
Поскольку вы также назначили идентификатор для img, вы тоже можете просто сделать это:
$("#testID2").removeClass("test2").addClass("test3");
И, наконец, вы тоже могу это сделать:
$("#testID img").removeClass("test2").addClass("test3");
Попробуйте это
$('#testID').addClass('nameOfClass');
или
$('#testID').removeClass('nameOfClass');
$('#testID2').addClass('test3').removeClass('test2');
jQuery addClass Справочник по API