Jquery - 如果顶级导航与accordion中的活动链接的当前父级匹配,则为addClass('active')。

时间:2011-01-18 13:53:27

标签: jquery navigation accordion addclass

问题是我有导航两部分。顶部导航和左导航。如果左侧导航的兄弟是当前网址,我需要告诉顶部链接有一个“.active”类。

EX:如果您正在关于ie的“儿童”链接 - “Bio”,我需要告诉顶部导航链接“关于”链接以获得.active类。

主页|关于|接触

< - 此处的页面内容 - >

<ul id="leftnav">
      <li>Home</li>
      <li><a href="ul.com/">About</a>
            <ul>
                  <li>Bio</li>
                  <li>History</li>
                  <li>Location</li>
            </ul>
      </li>
      <li>Contact</li>
</ul>

我试过了:

$(document).ready(function() {
    currentPage = window.location.pathname;
    if( $('.sidebarNav li a[href$="' + currentPage + '"]').parent('#aboutParent')) {
        $('#aboutTopNav a').addClass('active');
    }
});

2 个答案:

答案 0 :(得分:0)

使用jQuery树遍历来满足您的需求:http://api.jquery.com/category/traversing/tree-traversal/

答案 1 :(得分:0)

$(document).ready(function() {
var href_array= window.location.pathname.split("/");
var part_num = 0;
while (part_num < href_array.length) {
    lastPart = href_array[part_num];
    part_num += 1;
}
//alert( lastPart);

$('#navigationArea a[href*="' + lastPart + '"]').parentsUntil('.sub').addClass('active');

});

在我的示例中,“。sub”是一个类,但我认为它也适用于你的id。