JQuery Find #ID, RemoveClass и AddClass - PullRequest
       28

JQuery Find #ID, RemoveClass и AddClass

19 голосов
/ 09 марта 2010

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

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

Есть идеи?

Ответы [ 5 ]

38 голосов
/ 09 марта 2010
jQuery('#testID2').find('.test2').replaceWith('.test3');

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

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

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

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

5 голосов
/ 09 марта 2010
$('#testID2').addClass('test3').removeClass('test2');

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

1 голос
/ 09 марта 2010

Попробуйте это

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

или

$('#testID').removeClass('nameOfClass');
0 голосов
/ 18 июня 2013

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

jQuery('#testID2').addClass('test3').removeClass('test2');
0 голосов
/ 09 марта 2010

.....

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

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

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

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

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