-1

查看此页面顶部的灰色 StackOverflow 链接。徽标右侧的那些。他们说“问题”、“标签”、“用户”、“徽章”和“未回答”。请注意“问题”链接是橙色的,因为您正在查看我的问题。

我有 5 个链接,当单击它们时,它们会执行 jQuery 操作。他们不会将您重定向到另一个页面。

<a class="english"></a>
<a class="science"></a>
<a class="languages"></a>
[ect.]

我想要的只是为selected我点击的链接添加一个类。然后,一旦我单击另一个链接,删除第selected一个链接的原始类并将其添加到我单击的新链接中。

例如,如果我单击<a class="english"></a>,则向其添加selected类。

然后,当我单击 时<a class="science"></a>,从 中删除selected该类<a class="english"></a>并将selected该类添加到<a class="science"></a>.

提前致谢!:]

4

3 回答 3

3

像这样的东西(未经测试):

$('a').click(function() {
  $('.selected').removeClass('selected'); // remove all 'selected' classes
  $(this).addClass('selected');           // add selected class to clicked item
});

请注意,这将影响所有锚标记。要更具体到“菜单”项目,您可能需要使用更具体的选择器$('a')

编辑

当您遇到问题时,我在此处创建了此代码的小提琴。每次单击项目时,您都可以看到文本颜色。

于 2013-03-26T12:12:37.290 回答
2

单击链接时,您可以获得容器中的所有链接,删除每个链接的selected类,然后selected类添加到刚刚$(this)单击的链接中。

于 2013-03-26T12:09:07.293 回答
1

您需要的 jquery 方法是 addClass 和 removeClass

<div class='english selectable'>English</div>
<div class='french selectable'>French</div>

$(".selectable").click(function(){
    $(".selected").removeClass("selected");
    $(this).addClass("selected");
});

在这里试试:http: //jsfiddle.net/p4sVN/

于 2013-03-26T12:14:57.807 回答