addClass,removeClass,preventDefault

时间:2014-02-28 11:01:58

标签: javascript jquery html css

我想从所有childelements中删除类“活动”,并向一个childelement添加“活动”,但是当我使用event.preventDefault时,如果我删除了event.preventDefault,则该元素中的链接将不再起作用,addClass将只在很短的时间内工作,它将返回默认的“活动”类。 HTML代码:

<div id="menubar">
    <ul class="nav navbar-nav">
        <li class="active"><a href="">m1</a></li>
        <li ><a href="/something/">m2</a></li>
        <li ><a href="/anotherThing/">m3</a></li>
        <li ><a href="#aboutUs">m4</a></li>
        <li ><a href="">m5</a></li>
    </ul>
</div>

和JavaScript:

$(document).ready(function(){
    $("#menubar li").click(function(e) {
        e.preventDefault();
        $("#menubar li").removeClass("active")
        $(this).addClass("active")

    });  
})

我该怎么做才能启用链接?

2 个答案:

答案 0 :(得分:0)

如果你在.Net中这样做,你可以使用母版页中的菜单对象创建导航栏,并将其添加到后面的代码中

string ThisPage = Page.AppRelativeVirtualPath;

 foreach (MenuItem item in Menu1.Items)
 {
    if (item.NavigateUrl == ThisPage)
    {
        item.Selected = true;
        item.Selectable = true;
    }
}

foreach (MenuItem item in MenuAdmin.Items)
{
    if (item.NavigateUrl == ThisPage)
    {
         item.Selected = true;
         item.Selectable = true;
    }
}

答案 1 :(得分:0)

你需要后端来设置它才能“坚持”。否则,在链接后重置javascript。

相关问题