jQuery добавляет, удаляют класс

У меня есть 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>
15
задан MysticMagicϡ 9 April 2013 в 08:17
поделиться

1 ответ

Используя делегирование событий, мы привязываем только один обработчик ко всем событиям щелчка. При щелчке по привязке (кроме привязки .current ) мы удаляем привязку .current из ее класса и делаем щелкнутую привязку новым текущим:

$("#thumbs").on("click", "a:not(.current)", function ( event ) {
    $(".current", event.delegateTarget).removeClass("current");
    $(this).addClass("current");
});
29
ответ дан 1 December 2019 в 02:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: