我有一个非常奇怪的问题。我正在使用 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/