使用jQuery删除和添加属性id
我的网站中有一个菜单,我想根据不同的页面使用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
我的代码:
<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
});