查找链接的id是否等于父容器的id

时间:2010-05-30 10:56:55

标签: jquery css-selectors

嗨,大家需要一些帮助。

我正在创建一个单页个人网站。

每个部分都有一个菜单可以跳转到另一个部分,但我希望在当前部分的菜单中添加一个类:

即。如果你在关于about链接会有一个类'当前'。

这就是它的样子。

<section id="about">
<nav>
    <li><a href="#" id ="about">About</a></li>
    <li><a href="#" id ="contact">About</a></li>
    <li><a href="#" id ="blog">About</a></li>
</nav>

jquery的新手,所以我很难找到如何做到这一点。

非常感谢任何帮助。

由于

1 个答案:

答案 0 :(得分:1)

首先,您应该为该部分提供匹配的类或带前缀的ID(除了相同的ID之外的任何内容),如下所示:

<section id="current-about">

ID必须是唯一的,因此它们不应直接匹配。完成上述操作后,您可以执行此操作:

$(function() {
  var id = $('section:has(nav)').attr('id').replace('current-','');
  $('#' + id).addClass('current');
});

这样做是从包含<section>的{​​{1}}获取ID,剥离前缀,然后找到具有该ID的元素并添加该类。 You can see/play with a demo of the code here