2

我试图在 JQuery 中实现,一旦用户单击链接,例如属性 fromFeedback.aspx将被删除并添加到selectDefault.aspx liFeedback.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>

编辑:我的新网址正在打开,所以我需要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 回答