2 回答

TA貢獻1842條經驗 獲得超22個贊
如果您想使用純 JavaScript 實現這一點,您可以為每個元素綁定一個點擊處理程序。單擊按鈕時,處理程序將修改元素的類:
var buttons = document.getElementsByTagName("button");
for (var i = 0; i < buttons.length; i++) {
buttons[i].onclick = function() {
this.classList.remove('btn-outline-secondary');
this.classList.add('btn-primary');
}
}
.btn-outline-secondary {border: 1px solid #aaa;}
.btn-primary {border: 1px solid blue; background: blue; color: white;}
<div class="row">
<div class="col offset-md-2">
<div class="form-group">
<div class="btn-group">
<button type="button" class="btn btn-outline-secondary" id="zone1">Zone 1</button>
<button type="button" class="btn btn-outline-secondary" id="zone2">Zone 2</button>
<button type="button" class="btn btn-outline-secondary" id="zone3">Zone 3</button>
<button type="button" class="btn btn-outline-secondary" id="zone4">Zone 4</button>
<button type="button" class="btn btn-outline-secondary" id="zone5">Zone 5</button>
<button type="button" class="btn btn-outline-secondary" id="zone6">Zone 6</button>
<button type="button" class="btn btn-outline-secondary" id="bush">Bush</button>
</div>
</div>
</div>
</div>
有關在沒有框架的情況下綁定事件和更改元素類的更多信息,請參閱這兩個答案。
替代
如果您愿意使用諸如 jQuery 之類的庫,那么綁定事件處理程序可能會簡單得多。包含 jQuery 庫后,您的代碼將是:
$("button").click(function(){ /*apply new class using .removeClass() and .addClass() methods*/ });
有關.click() 的更多信息,請參閱jQuery 文檔。
添加回答
舉報