Jquery удаляет класс (если он существует и добавляет новый класс)
Я пытаюсь использовать jquery для удаления класса из элемента (не зная заранее, если он существует) и добавить новый элемент для его замены.
Будет ли это лучшим способом (я скепсилек, потому что он не проверяет, существует ли класс перед его удалением):
$(elem).removeClass(oldClass).addClass(newClass);
спасибо
Ответы
Ответ 1
$(elem).removeClass(oldClass).addClass(newClass);
Это прекрасно. Не нужно сначала проверять; если он там, он идет, если нет, он уже ушел.
FYI, вы также можете toggleClass() и добавить/удалить класс в зависимости от того, есть он там или нет.
Ответ 2
Вы можете использовать hasClass
:
if ($(elem).hasClass(oldClass)){
// it has class
} else {
// it doesn't have specified class
}
Описание: Определите, согласованным элементам присваивается заданный класс.
Ответ 3
toggleClass
делает то, что вы ожидаете от него.