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 

делает то, что вы ожидаете от него.