jquery添加remove类

前端之家收集整理的这篇文章主要介绍了jquery添加remove类前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有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>

解决方法

通过使用事件委托,我们只绑定所有点击事件的一个处理程序。当锚点(除了.current锚点之外)被点击时,我们剥去其类的.current锚点,并使点击的锚点成为当前的锚点:
$("#thumbs").on("click","a:not(.current)",function ( event ) {
    $(".current",event.delegateTarget).removeClass("current");
    $(this).addClass("current");
});

猜你在找的jQuery相关文章