0
<div id=wrapDesktopNavBar>   
    <ul class="desktopNavBar">  
    <li><a id="firstLevel" href="#">header 1</a></li>  
    <li><a id="firstLevel" href="#">header 2</a>  
        <ul>   
        <li><a id="secondLevel" href="#">1st sub header under header 2</a>  
        <li><a id="secondLevel" href="#">2nd sub header under header 2</a>  
        <li><a id="secondLevel" href="#">3rd sub header under header 2</a>  
            </ul>  
    <li><a id="firstLevel" href="#">header 3</a></li> 

等々

$(function(){
$('.desktopNavBar a').bind('click', function(e){
    $('.desktopNavBar a.current').removeClass('current');
    $(this.hash).show();
    $(this).addClass('current');

    e.preventDefault();

}).filter('a:first').click();
});

ヘッダーがクリックされたときにヘッダーに下線を引く「current」というクラスがあります。サブヘッダーがクリックされたときにメインヘッダーに下線が引かれるようにしたい。試してみまし$(this).parent('a').addClass('current');たが、うまくいきません。

4

1 に答える 1

1

編集

代わりにこのセレクターを使用してください。追加のクラスは必要ありません

$(this).closest('.desktopNavBar > li').find('a:first').addClass('current');

デモフィドル

また、投稿した内容にいくつかのエラーがあるため、HTML マークアップを検証してください。たとえば、いくつかの li タグが閉じられていません。

于 2013-07-27T08:33:14.147 に答える