0

如果标题令人困惑,我很抱歉,这就是我想要做的。我有一个<ul>并且我想这样做,所以当我单击其中一个时<li>,该项目变为id="active",删除具有该 id 的旧<li>项目,从而采用 css for id="active"。我希望这是有道理的。这是我的代码: http: //pastebin.com/20i6h5cs

提前致谢!

4

3 回答 3

2

为此,您可能应该使用 aclass而不是a(jQuery 也使它更容易)。id它看起来像这样:

$("ul").on("click", "li:not(.active)", function() {
    $(this).addClass("active").siblings().removeClass("active");
});

上面安装了一个委托处理程序,只要单击没有该类ul的后代,就会调用该处理程序。li处理程序将类添加到单击的元素并将其从其所有同级元素中删除。

于 2012-05-22T20:02:40.333 回答
0

这是一个让你开始的小提琴:

http://jsfiddle.net/avvKe/

于 2012-05-22T20:04:08.903 回答
0

我会回应 Jon 的建议,即您使用类而不是 ID。但是,如果您确实坚持走 ID 路线,则如下所示:

$('.ulSideNav li').click(function(e) {
    e.preventDefault();
    document.getElementById('active').id = null;
    this.id = 'active';
});

应该做的伎俩。

于 2012-05-22T20:04:20.213 回答