You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jQuery点击clickable元素时遍历同类跳过被点击元素的实现方法

问题解决方法

你可以通过以下两种方式实现需求:

方式1:修改现有遍历逻辑

点击事件外层的this指向当前被点击的元素,你只需要在遍历过程中对比元素,跳过匹配项即可:

$('.clickable').on('click', function (e) {
    // 存储当前被点击的元素对象
    const clickedEl = $(this);
    $('.clickable').each(function () {
        // 仅当遍历到的元素不是被点击元素时,才添加新类
        if (!$(this).is(clickedEl)) {
            $(this).addClass('new-class');
        }
    });
})

方式2:更简洁的原生jQuery方案(无需手动遍历)

直接使用jQuery内置的not()方法排除指定元素,代码更精简执行效率也更高:

$('.clickable').on('click', function (e) {
    // 选中所有clickable类元素,排除当前点击项后批量加类
    $('.clickable').not(this).addClass('new-class');
})

可选补充:如果你需要每次点击时先重置所有元素的new-class状态,再按规则添加,可以新增一行移除类的逻辑:

$('.clickable').on('click', function (e) {
    // 先清空所有元素的new-class
    $('.clickable').removeClass('new-class');
    // 再给除点击项外的元素加类
    $('.clickable').not(this).addClass('new-class');
})

内容的提问来源于stack exchange,提问作者Semion Vinogradov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 06:09:00