如果标题令人困惑,我很抱歉,这就是我要做的事情。我有一个<ul>
,当我点击其中一个<li>
时,我想这样做,该项目变为id="active"
,删除了具有该ID的旧<li>
项从而获得id="active"
的CSS。我希望这是有道理的。这是我的代码:http://pastebin.com/20i6h5cs
提前致谢!
答案 0 :(得分:2)
为此目的,您应该使用class
而不是id
(jQuery也可以更轻松)。它看起来像这样:
$("ul").on("click", "li:not(.active)", function() {
$(this).addClass("active").siblings().removeClass("active");
});
上面安装ul
上的委托处理程序,只要没有单击类的后代li
,就会调用该处理程序。处理程序将类添加到单击的元素中,并将其从所有兄弟元素中删除。
答案 1 :(得分:0)
这是一个让你开始的小提琴:
答案 2 :(得分:0)
我会回应Jon的建议,即你使用的是课程,而不是ID。但是,如果你坚持要去ID路线,那就是这样的:
$('.ulSideNav li').click(function(e) {
e.preventDefault();
document.getElementById('active').id = null;
this.id = 'active';
});
应该这样做。