JS - if/else - addClass. Button

Что не так в моем скрипте ?

<script>
if($('body:contains(".light")'))
    $(".zrlight").addClass("active");
else
    $(".zrdark").addClass("active");
    $(".zrlight").remove("active");
</script>

Когда в body class="light" То кнопка light активна как и нужно, но переключаясь на dark все равно active кнопка light. Я что то делаю не так? Совершенно не знаю js. Пробовал уже и так и сяк и с помощью else if, все равно горит кнопка не та либо обе.


Ответы (2 шт):

Автор решения: Алексей Шиманский

скорее всего надо так

if ($('body').hasClass('light'))

и

if ($('body').hasClass('dark'))

то есть дословно hasClass - есть ли класс. В скобках - название класса.


https://api.jquery.com/hasclass/

http://jquery.page2page.ru/index.php5/Наличие_класса

→ Ссылка
Автор решения: Igor
if($('body').hasClass('light')) {
  $(".zrdark").removeClass("active");
  $(".zrlight").addClass("active");
} else {
  $(".zrdark").addClass("active");
  $(".zrlight").removeClass("active");
}
→ Ссылка