如果标题令人困惑,我很抱歉,这就是我想要做的。我有一个<ul>
并且我想这样做,所以当我单击其中一个时<li>
,该项目变为id="active"
,删除具有该 id 的旧<li>
项目,从而采用 css for id="active"
。我希望这是有道理的。这是我的代码: http: //pastebin.com/20i6h5cs
提前致谢!
如果标题令人困惑,我很抱歉,这就是我想要做的。我有一个<ul>
并且我想这样做,所以当我单击其中一个时<li>
,该项目变为id="active"
,删除具有该 id 的旧<li>
项目,从而采用 css for id="active"
。我希望这是有道理的。这是我的代码: http: //pastebin.com/20i6h5cs
提前致谢!
为此,您可能应该使用 aclass
而不是a(jQuery 也使它更容易)。id
它看起来像这样:
$("ul").on("click", "li:not(.active)", function() {
$(this).addClass("active").siblings().removeClass("active");
});
上面安装了一个委托处理程序,只要单击没有该类ul
的后代,就会调用该处理程序。li
处理程序将类添加到单击的元素并将其从其所有同级元素中删除。
这是一个让你开始的小提琴:
我会回应 Jon 的建议,即您使用类而不是 ID。但是,如果您确实坚持走 ID 路线,则如下所示:
$('.ulSideNav li').click(function(e) {
e.preventDefault();
document.getElementById('active').id = null;
this.id = 'active';
});
应该做的伎俩。