jQuery 选择器问题

标签 jquery jquery-selectors

我有一个非常奇怪的问题。我正在使用 jQuery 来拦截特定的标签点击。

我有:

<a class="question">lorem ipsum</a>
<a class="question_selected">lorem ipsum</a>
<a class="question">lorem ipsum</a>
<a class="question">lorem ipsum</a>

我的 jQuery 是:

$("a.question").click(function(){.....});

它应该拦截 <a>单击 where class="question"但每当我单击 <a class="question_selected"> 时它也会拦截.

可能是什么问题?

编辑: 我实际上是在点击时更改类(class)。我单击的标签应变为“question_selected”,所有其他标签应变为“question”。这是 jQuery:$('a.question_selected').removeClass('question_selected').addClass('question'); $(this).addClass('question_selected').removeClass('question');

最佳答案

删除类名中的下划线。也许 jQuery 中存在与此相关的错误。

否则,这并不能直接回答您的问题,而是一些建议:

首先,我不交换类,而是使用两个类:

<a class="question">lorem ipsum</a>
<a class="question selected">lorem ipsum</a>

然后,在您的 jQuery 中,我会缓存您的问题:

$questions = $('a.question');

然后你的 jquery 可以是:

$questions.click(function(){
    $questions.filter('.selected').removeClass('selected');
    $(this).addClass('selected');
})

关于jQuery 选择器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6560872/

相关文章:

javascript - 在 jQuery 中已经对事件进行了一次调用后,如何防止事件重复发生?

javascript - 使用 jQuery Masonry 时如何使 block 居中

jquery - 访问 JSON 元素时返回 "object Object"或未定义

jquery - 如何找到给定 ID 内的所有匹配输入元素?

javascript - 如何让我的 jQuery 插件尊重 end()?

javascript - 需要根据条件隐藏选定的元素

javascript - 如何从 db laravel 6 将事件类添加到菜单

javascript - 如何使用 JSON 将 C# 对象转换为 Javascript 数组数组?

javascript - jquery 多重选择器与 contains()

jQuery:选择器问题(破折号)