我有一個選擇(用於高亮顯示)的類,我一次只能添加一個元素,所以每次點擊一個新元素時,它都會將選中的類添加到該元素中並從任何以前點擊的元素中移除選定的類 - 無論是哪個。簡單的高亮顯示一次只能顯示一個元素功能
如果直接點擊下一個/上一個元素(按鈕),我只能使它工作。
如果我點擊按鈕1,然後例如按鈕4,那麼它只是不斷添加類。
https://jsfiddle.net/vLkjovrv/1/
var myButtons = document.querySelectorAll('.my-button');
for (var i = 0; i < myButtons.length; i++) {
var button = myButtons[i];
button.addEventListener('click', function(event) {
this.classList.toggle("selected");
this.previousElementSibling.classList.remove("selected");
this.nextElementSibling.classList.remove("selected");
});
}
我知道爲什麼上面不行,我直接告訴它只是地址下一個/上,但是我一直在使用的if/else班級列表包含試過了,!這一點。 classList.contains,e.currentTarget的各種組合,但我不能讓它工作。
我想我在尋找類似:
如果(任何myButtons.classList.contains( 「選擇」))
刪除選定
其他
添加選定
我花了幾個小時尋找一個香草JS解決方案,但我只能找到jQuery - 我想學習純JavaScript。
有人可以給我一些指針嗎?將不勝感激!
哇,我得到了一些偉大的答案了,我希望我能知道如何判斷哪一個是「最好的」。 – Capax
@DavidWickström解決方案不是我認爲最好的。 –