我正在尝试通过删除类名末尾来重置先前已选择的任何链接的类。
单击链接时,该类附加“_selected”,以便图像保持突出显示。当点击另一个链接时,我试图从之前选择的任何链接中删除“_selected”(页面上有很多翻转)。
似乎以下应该有效:
$('a')。attr('class')。replace(/ _ selected / g,'');
这不是要查找所有带有类的链接,而是将“_selected”的实例替换为什么?
有没有更好的方法来看待这个? jQuery新手...谢谢
答案 0 :(得分:2)
您可以在元素中放置多个类,例如:
<a class="someClass selected" />
所以,使用jQuery:
$("a.selected").removeClass("selected");
当然以前你已经添加了
$("your-selector").addClass("selected");
你需要定义它,当然
<style>
A.selected {
/*your styles here*/
}
</style>
不完全是你想要的,但我认为这就是你所需要的:)
事实上,你想要的是:
$("a").each(function(){
$(this).attr("class", $(this).attr("class").replace(/_selected/g,""));
});
答案 1 :(得分:0)
$('a')。attr('class')将返回每个jQuery'a'元素的'class'字符串,而不是元素本身......
我认为你应该做那样的事情:
$('a')。each(function(){
$(this).attr('class',$(this).attr('class')。replace(/ _ selected / g,''));
});