タイトルがわかりにくい場合は申し訳ありませんが、これが私がやろうとしていることです。私はを持っていて、<ul>
それを作りたいので、の1つをクリックすると<li>
、そのアイテムはになりid="active"
、そのIDを持っていた古いアイテムを削除し<li>
、それによってのcssを引き継ぎid="active"
ます。これが理にかなっていることを願っています。これが私のコードです:http://pastebin.com/20i6h5cs
前もって感謝します!
タイトルがわかりにくい場合は申し訳ありませんが、これが私がやろうとしていることです。私はを持っていて、<ul>
それを作りたいので、の1つをクリックすると<li>
、そのアイテムはになりid="active"
、そのIDを持っていた古いアイテムを削除し<li>
、それによってのcssを引き継ぎid="active"
ます。これが理にかなっていることを願っています。これが私のコードです:http://pastebin.com/20i6h5cs
前もって感謝します!
この目的には、おそらくclass
an の代わりにa を使用する必要があります (jQuery を使用すると、同様に簡単になります)。id
次のようになります。
$("ul").on("click", "li:not(.active)", function() {
$(this).addClass("active").siblings().removeClass("active");
});
上記は、クラスのない子孫がクリックul
されるたびに呼び出される委任ハンドラーをインストールします。li
ハンドラーは、クリックされた要素にクラスを追加し、そのすべての兄弟から削除します。
ここにあなたを始めるためのフィドルがあります:
ID ではなくクラスを使用するという Jon の提案に同意します。ただし、ID ルートを使用することを主張した場合は、次のようになります。
$('.ulSideNav li').click(function(e) {
e.preventDefault();
document.getElementById('active').id = null;
this.id = 'active';
});
トリックを行う必要があります。