active
を別のボタンが選択されているときにオンにし、active
クラスのボタンを再度選択したときにボタンを切り替えるボタンがいくつかあります。クラスを削除する)。JavaScript:querySelectorAll&classListが期待どおりに動作しない
また、this
は、I console.log
の場合、選択した要素を正しく返しています。
行this.classList.toggle('active');
はクラスを追加していますが、削除していません。どんな考え?
var controls = document.querySelectorAll('.controls > button');
for (var i = 0; i < controls.length; i++) {
controls[i].addEventListener('click', btnClick, false);
}
function btnClick() {
[].forEach.call(controls, function(el) {
// Remmove active class from all buttons
el.classList.remove('active');
});
this.classList.toggle('active');
}
ラジオボタンを再作成しているようです。 – Quentin
私はあなたが言っていることを知っています。したがって、ラジオボタンを使用するのが良い方法ですが、ラベルをスタイリングしてラジオボタンのUIを隠すようにスタイルを変更します。この場合、ボタンのように見えるはずです。 –