Я довольно новый в JQuery, и у меня есть вопрос о addClass(). Я потратил некоторое время, чтобы попытаться заставить это работать, но похоже, что я сделал что-то неправильно. Я создал верхнее меню с HTML и бутстрапом. Я предполагаю, что посетители сначала приземлятся на мой index.php, поэтому я создал класс = «active» для моего index.php. Затем, если они нажмут на любую другую ссылку в верхнем меню (например, О нас), то класс = "active" добавит и удалит class = "active" со вкладки "li" для index.php.addClass в JQuery
Ниже мой HTML код:
<div class="nav-collapse collapse">
<ul class="nav pull-right">
<li id="home" class="active"><a href="index.php"> Home</a></li>
<li id="about"><a href="about_us.php"> About Us</a></li>
<li id="browse"><a href="browse.php"> Browse</a></li>
<li id="contact"><a href="contact.php"> Contact</a></li>
</ul>
</div>
И ниже код JQuery, который я использую, и попытаться получить это сделать.
$(function(){
var sidebar = $('.nav');
sidebar.delegate("li", "click", function(){
if($(this).hasClass('active')){
//If click on the tab that is currently active, it will do nothing.
}else{
sidebar.find('.active').addClass('inactive');
sidebar.find('.active').removeClass('active');
$(this).removeClass('inactive');
$(this).addClass('active');
}
});
});
Я проверил его на своем локальном сервере. Я мог видеть, что вкладка в моем верхнем меню стала серым после того, как я нажал на нее, но она не осталась. Поэтому я уверен, что сделал что-то не так, но не знаю, где. Я действительно новичок в JQuery, поэтому надеюсь, что смогу научиться у вас, ребята. Спасибо!
Я предполагаю, что нет необходимости использовать второй класс для неактивного состояния. – isherwood