0

問題は、ナビゲーションが2つの部分に分かれていることです。トップナビとレフトナビ。左側のナビゲーションの兄弟が現在のURLである場合、「。active」のクラスを持つようにトップリンクに指示する必要があります。

例:aboutの子リンクを使用している場合-「Bio」トップナビゲーションリンクの「About」リンクに.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');
    }
});
4

2 に答える 2

0

必要に応じて jQuery ツリー トラバーサルを使用してください: http://api.jquery.com/category/traversing/tree-traversal/

于 2011-01-18T13:56:56.580 に答える
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でも機能すると思います。

于 2011-01-18T13:58:17.703 に答える