javascript - 如何修复按下按钮的颜色选择?

标签 javascript html css

我有以下代码:

HTTP:

<label class="instructions" for="hidden_x"> Insert X: </label>
<button type="button" class="button" name="button_x" value="1" id="x_1" onclick="document.getElementById('hidden_x').value = 1"> 1 </button>
<button type="button" class="button" name="button_x" value="2" id="x_2" onclick="document.getElementById('hidden_x').value = 2"> 2 </button>
<button type="button" class="button" name="button_x" value="3" id="x_3" onclick="document.getElementById('hidden_x').value = 3"> 3 </button>
<button type="button" class="button" name="button_x" value="4" id="x_4" onclick="document.getElementById('hidden_x').value = 4"> 4 </button>
<input type="hidden" name="hidden_x" id="hidden_x" value=""> <br>

JavaScript:

window.onload = function(){
let buttonsX = document.getElementsByName("button_x");
for (let i = 0; i < buttonsX.length; i++) {
    buttonsX[i].onclick = function (event) {
        document.getElementById("hidden_x").value = event.target.value;
        buttonsX.forEach(elem => elem.classList.remove("focused"));
        /*event.target.classList.add("focused");*/
        this.classList.add('focused');
    }
}
}

CSS:

.button .focused{
background-color: darkgreen;
}

当我按下按钮时,它的颜色没有改变。怎样才能修复它?

最佳答案

你的CSS说在.button中找到.focused类,所以它不会改变颜色。删除两个类之间的空间会有所帮助。

window.onload = function(){
let buttonsX = document.getElementsByName("button_x");
for (let i = 0; i < buttonsX.length; i++) {
    buttonsX[i].onclick = function (event) {
        document.getElementById("hidden_x").value = event.target.value;
        buttonsX.forEach(elem => elem.classList.remove("focused"));
        this.classList.add('focused');
    }
}
}
.button.focused{
background-color: darkgreen;
}
<label class="instructions" for="hidden_x"> Insert X: </label>
<button type="button" class="button" name="button_x" value="1" id="x_1" onclick="document.getElementById('hidden_x').value = 1"> 1 </button>
<button type="button" class="button" name="button_x" value="2" id="x_2" onclick="document.getElementById('hidden_x').value = 2"> 2 </button>
<button type="button" class="button" name="button_x" value="3" id="x_3" onclick="document.getElementById('hidden_x').value = 3"> 3 </button>
<button type="button" class="button" name="button_x" value="4" id="x_4" onclick="document.getElementById('hidden_x').value = 4"> 4 </button>
<input type="hidden" name="hidden_x" id="hidden_x" value=""> <br>

关于javascript - 如何修复按下按钮的颜色选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58078429/

相关文章:

javascript - Typeahead 仅显示完全匹配。如何显示从远程 url 返回的所有数据?

javascript - Facebook 评论插件在创建评论时返回 500 错误

html - CSS:以第二深度隐藏 ul 的第一个列表项

javascript - 同时从顶部和底部动画更改div高度

javascript - 铯地球聚类

java - 编码/混淆 HTTP 参数

html - 如何使绝对定位的输入缩小以适合?

html - 如何让链接填充不同高度的表格单元格?

html - CSS - 跨页面传播的容器

javascript - 使用 CSS 的 Pinterest 样式布局,但水平堆叠而不是垂直堆叠