Javascript 切换元素jquery

Javascript 切换元素jquery,javascript,Javascript,我在一页上有三个a标签。用户只能“选择”一个。 标记: 此代码无法正常工作。若我选择第一个或第二个标签,那个么所有OK样式都被切换,但警报仍然显示。如果先选择,则无法选择最后一个。 哪里有问题?为什么? 谢谢 因为没有将单击处理程序绑定到最后一个元素 试一试 因为您没有将click处理程序绑定到最后一个元素 试一试 find过滤器只运行一次-它没有监听连续的点击。为此使用事件委派-这样,当单击发生时,将应用筛选器,而不是像当前那样,在绑定事件时应用筛选器 $('.fl_near').on('cl

我在一页上有三个
a
标签。用户只能“选择”一个。 标记:

此代码无法正常工作。若我选择第一个或第二个标签,那个么所有OK样式都被切换,但警报仍然显示。如果先选择,则无法选择最后一个。
哪里有问题?为什么?
谢谢


因为没有将单击处理程序绑定到最后一个元素

试一试


因为您没有将click处理程序绑定到最后一个元素

试一试


find
过滤器只运行一次-它没有监听连续的点击。为此使用事件委派-这样,当单击发生时,将应用筛选器,而不是像当前那样,在绑定事件时应用筛选器

$('.fl_near').on('click', 'a:not(.selected)', function (evt) {
    alert(1);
    $(this).addClass('selected').siblings('a').removeClass('selected');
});

请注意,我还简化了添加/删除类行。

查找过滤器只运行一次-它不会侦听连续的单击。为此使用事件委派-这样,当单击发生时,将应用筛选器,而不是像当前那样,在绑定事件时应用筛选器

$('.fl_near').on('click', 'a:not(.selected)', function (evt) {
    alert(1);
    $(this).addClass('selected').siblings('a').removeClass('selected');
});

请注意,我还简化了添加/删除类行。

现在,您没有将单击事件绑定到从开始选择的链接

我会改变:

$('.fl_near').find('a:not(.selected)').click(function () {


现在,您没有将单击事件绑定到从开始选择的链接

我会改变:

$('.fl_near').find('a:not(.selected)').click(function () {


哦,是我的粗心。谢谢,这是我的粗心。谢谢您忘记了最后一个元素选择了类
,您找到了没有该类的元素您忘记了最后一个元素选择了类
,您找到了没有该类的元素
$('.fl_near').find('a:not(.selected)').click(function () {
$('.fl_near a').click(function () {