Jquery替换任何类中的部分字符串

时间:2009-10-22 15:42:51

标签: jquery

我正在尝试通过删除类名末尾来重置先前已选择的任何链接的类。

单击链接时,该类附加“_selected”,以便图像保持突出显示。当点击另一个链接时,我试图从之前选择的任何链接中删除“_selected”(页面上有很多翻转)。

似乎以下应该有效:

$('a')。attr('class')。replace(/ _ selected / g,'');

这不是要查找所有带有类的链接,而是将“_selected”的实例替换为什么?

有没有更好的方法来看待这个? jQuery新手...谢谢

2 个答案:

答案 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,''));

});