0

タイトルがわかりにくい場合は申し訳ありませんが、これが私がやろうとしていることです。私はを持っていて、<ul>それを作りたいので、の1つをクリックすると<li>、そのアイテムはになりid="active"、そのIDを持っていた古いアイテムを削除し<li>、それによってのcssを引き継ぎid="active"ます。これが理にかなっていることを願っています。これが私のコードです:http://pastebin.com/20i6h5cs

前もって感謝します!

4

3 に答える 3

2

この目的には、おそらくclassan の代わりに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

ID ではなくクラスを使用するという Jon の提案に同意します。ただし、ID ルートを使用することを主張した場合は、次のようになります。

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

トリックを行う必要があります。

于 2012-05-22T20:04:20.213 に答える