Jquery add удалить класс
У меня есть 4 привязки, я хочу добавить класс тока к якорю, когда он щелкнут, и удалить класс из остальных 3 одновременно. Вот мой код. что я делаю неправильно?
if ($("ul#thumb a").hasClass("current") {
$("ul#thumb a").removeClass("current");
$(this).addClass("current");
});
и мой html выглядит так:
<ul id="thumbs">
<li>
<!-- intro page navi button -->
<a id="t0" class="active" name="t0">The Company</a>
<ul class="navi">
<li><a style="display:none"></a></li>
<li><a id="t1" name="t1">The Brief</a></li>
<li><a id="t2" name="t2">The Solution</a></li>
<li><a id="t3" name="t3">The Result</a></li>
</ul>
</li>
</ul>
Ответы
Ответ 1
Используя событие-делегирование, мы связываем только один обработчик для всех событий кликов. Когда нажата привязка (кроме привязки .current
), мы разделяем привязку .current
своего класса и делаем привязанный привязкой новый текущий:
$("#thumbs").on("click", "a:not(.current)", function ( event ) {
$(".current", event.delegateTarget).removeClass("current");
$(this).addClass("current");
});
Ответ 2
Я думаю, это поможет вам
$("a").click(function() {
$('a').removeClass('current');
var id = $(this).attr('id');
$('#'+id).addClass('current');
});