单击事件上的Jquery切换类

Cri*_*ora 1 javascript jquery

我有下面的例子:

<div class="filtrer">
    <a class="bold">Url 1</a>
    <a>Url 2</a>
</div>
Run Code Online (Sandbox Code Playgroud)

第一个网址处于活动状态,第二个网页处于非活动状 我应该被允许只按下Url 2,一旦我这样做,大胆的班级就会切换到Url 2.

我已经尝试过但没有用的是:

$('.filtrer a').filter(':not(.bold)').on('click', function(){
    var current = $('.filtrer a').filter(':not(.bold)');
    var standby = $('.filtrer a.bold');

    current.addClass('bold');
    standby.removeClass('bold');
})
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么这不起作用?或者有优化的解决方案?谢谢

Aru*_*hny 5

您正在处理动态元素选择器,因此您需要使用基于委派的事件处理程序

var $as = $('.filter a');
$('.filter').on('click', 'a:not(.bold)', function () {
    var current = $as.filter(':not(.bold)');
    var standby = $as.filter('.bold');

    current.addClass('bold');
    standby.removeClass('bold');
})
Run Code Online (Sandbox Code Playgroud)

演示:小提琴

它可以写成

var $as = $('.filter a');
$('.filter').on('click', 'a:not(.bold)', function () {
    $as.toggleClass('bold');
})
Run Code Online (Sandbox Code Playgroud)

演示:小提琴