在页面加载后删除li上的类

时间:2013-12-16 18:59:11

标签: javascript jquery html jquery-ui

我正在使用jquery将类添加到“li”上的活动css,并导航到html页面。但是在页面导航“li”上的类disappers之后。我已尝试过不同的方法来解决这个问题,但无法明白这一点。

$(document).ready(function(){
    $( '#topList ul li' ).click(function() {
        alert($(this).attr('id'));


        if($(this).attr('id') == "add") {            
            document.location.href = 'localhost:8080/add';
            $(this).attr('id').addClass("active");            
        }
    });    
});

这里是菜单列表,我想要的是当我点击li时它应该调用页面添加并在该li上添加一个类。

html代码

<ul class="nav">
    <li class="" id="add"><a href="javascript:void(0);"  ><i class="add"></i> Add</a>      </li>
<ul>

3 个答案:

答案 0 :(得分:2)

您需要在您正在呼叫的页面中为li添加类,即,当您调用 localhost:8080 / add 时,将呈现该页面。 因为在您的代码中设置活动类不会被调用,因为 localhost:8080 / add 将开始加载前一行代码(document.location.href = 'localhost:8080/add';)

如果要呈现的页面是静态页面,则在该页面中添加此代码。

$(document).ready(function(){
 $('#add').addClass("active"); 
});

答案 1 :(得分:1)

我通过查看网址并决定哪个导航元素最适合添加,在my website上解决了这个问题。

function showContent(target) {
    var e = $('#'+target);
    $(".content").hide();
    $("#nav li.active").removeClass("active");
    $("#nav li[target='"+target+"']").addClass("active");
    e.toggle();
    ga('send','pageview',window.location.pathname+"#"+target);
}

// this looks at the URL (by the #...) and decides which view is active
// this gets called on ready and if the client hits the link 
//   (which dynamically loads instead of making a trip for a new page to the server)
$(window).hashchange(function() {
    var which=window.location.hash.substring(1);
    switch( which) {
    default:
        which="profile";
    case "profile":
    case "resume":
    case "projects":
    case "contact":
        showContent( which);
    }
});

答案 2 :(得分:1)

在包含菜单或链接的页面上使用以下脚本。

<div id="cssmenu">
<a href="blah blah" > Test page</a>
<a href="blah blah" > Test page</a>
</div>





   $(document).ready(function () {
                var pageTitle = window.location.pathname.replace(/^.*\/([^/]*)/, "$1");

                $('#cssmenu a').each(function () {
                    if ($(this).attr('href').toLowerCase() == pageTitle.toLocaleLowerCase())
                        $(this).addClass('active');
                });



            });