使用jQuery删除和添加属性id

使用jQuery删除和添加属性id,jquery,Jquery,我的网站中有一个菜单,我想根据不同的页面使用jQuery删除和添加属性id。 我的代码: <ul id="nav"> <li id="current"><a href="">Users</a></li> <li><a href="Category.aspx">Category</a></li> <li><a href="SubCategory.as

我的网站中有一个菜单,我想根据不同的页面使用jQuery删除和添加属性id。

我的代码:

<ul id="nav">
    <li id="current"><a href="">Users</a></li>
    <li><a href="Category.aspx">Category</a></li>
    <li><a href="SubCategory.aspx">SubCategory</a></li>
    <li><a href="Area.aspx">Area</a></li>
    <li><a href="Feedbacks.aspx">Feedbacks</a></li>
</ul>
这里,在主页上,id“current”设置为first li。现在,当用户访问类别时,我想从用户中删除当前id并将id设置为类别。

如何做到这一点

$('li').click(function(e) {
        e.preventDefault();
        $('li').removeAttr('id');
        $(this).attr('id','current');
    });
试试这个:

//$('#nav li').each(function(){
    $('#current').removeAttr('id');
    $('li:active').attr('id','current');
//}
用这个,

$('#nav li').click(function(){
  $('#current').removeAttr('id');
  $(this).attr('id','current');
}
试一试


在JQuery文档中查找
removeAttr
以及
.prop
但是
id
是html的唯一标识符,为什么要从html中删除id<代码>:)只是一个想法。API:@Tats\u innit,它类似的受尊重的菜单将根据页面访问突出显示,因此我想从一个菜单中删除id并设置为另一个。但是
current
不是id。哎呀,我没有注意到。谢谢,我已经编辑了答案。在这里,它肯定会删除id。但它并没有将id设置为当前菜单。是的,它将id设置为最后一个菜单。它完美地设置了id,但不知道如何将id设置为当前菜单,它还不断地向用户添加id。aspx@JeetenParmar因为它是
href
是空的
。你的主页链接是什么
home.aspx
?users.aspx是主页。“我的菜单在母版页中。@JeetenParmar更改您的标记并设置
它将起作用。”。
$('#nav li').click(function(){
  $('#current').removeAttr('id');
  $(this).attr('id','current');
}
switch(window.location.pathname) {
    case 'Category.aspx':
        $("#nav").find('#current').attr('id','');
        $('#nav').find('a[href="Category.aspx"]').attr('id', 'current');
    break;
    case 'SubCategory.aspx':
        $("#nav").find('#current').attr('id','');
        $('#nav').find('a[href="SubCategory.aspx"]').attr('id', 'current');
    break;
    case 'Area.aspx':
        $("#nav").find('#current').attr('id','');
        $('#nav').find('a[href="Area.aspx"]').attr('id', 'current');
    break;
    case 'Feedbacks.aspx':
        $("#nav").find('#current').attr('id','');
        $('#nav').find('a[href="Feedbacks.aspx"]').attr('id', 'current');
    break;

}
$(document).ready(function () {
    $('li#current').removeAttr("id"); //remove previously added id
    var loc = $(location).attr('href'); //get current location
    $('#nav a').filter(function () { //filter a tag 
        return this.href == loc;//whose link is pointing to current location
    }).parent().attr('id', 'current'); //add id to parent li
});