2

ユーザーがリンクをクリックするとFeedback.aspxselect属性Default.aspx liが削除されて追加されるなど、JQueryで達成しようとしていますFeedback.aspx li

<ul id="main_menu" class="main_menu ui-sortable">
            <li class="limenu select"><a href="Default.aspx"><span class="ico gray shadow home"></span><b style="">Home</b></a></li>
            <li class="limenu"><a href="OnlineUsers.aspx"><span class="ico gray shadow messenger"></span><b style="">Who is online?</b></a></li>
            <li class="limenu"><a href="Feedback.aspx"><span class="ico gray shadow hand_thumbsup"></span><b style="">Feedback</b></a></li>
            <li class="limenu"><a href="About.aspx"><span class="ico gray shadow info"></span><b style="">About</b> </a></li>
            <li class="limenu"><a href="UserDetails.aspx"><span class="ico gray shadow  user"></span><b style="">User Details</b> </a></li>
            <li class="limenu"><a href="ChangePassword.aspx"><span class="ico gray shadow password"></span><b style="">Change Password</b></a></li>
            <li class="limenu"><a href="Login.aspx"><span class="ico gray shadow power"></span><b style="">Logout</b> </a></li>
        </ul>

編集:新しいURLが開かれているので、新しいページを見つけFeedback.aspxて追加するselect必要があります

4

1 に答える 1

2

これはすべきです:

$('li.limenu a').click(function(){
    $('li.limenu').removeClass('select');
    $(this).parent().addClass('select');
});

デモンストレーション

e.preventDefaultこの例では、リンクをたどらないように追加しました。あなたの例では、デフォルトのターゲットを使用して同様の効果を上げていると思います。

ページを変更する場合、最も簡単な解決策は、ページを開いたときに確認することです。

$(function(){
    var pathtokens = document.location.pathname.split('/');
    var page = pathtokens[pathtokens.length-1];
    $('li.limenu').removeClass('select'); 
    $('li.limenu a').each(function(){
        if ($(this).attr('href')==page) $(this).parent().addClass('select');
    });
});
于 2012-11-11T11:53:57.510 に答える