【发布时间】:2021-02-01 05:17:22
【问题描述】:
我正在尝试写一些内容,如果选中输入复选框,则更改该输入框的相关标签的背景颜色。如果选中,则应为红色,否则所有其他都具有其常规颜色。当我单击其他输入时,如何取消选中其他输入?所有实际输入都显示为无,所以我想更改标签的样式。
document.querySelectorAll(".main-container__checkbox").forEach((item) => {
if (item.checked) {
document.querySelectorAll(
".main-container__checkbox-label"
).style.backgroundColor = "red";
}
});
显然这只会让每个标签的背景颜色变成红色,但我不知道如何让被选中的标签变成红色
<input
id="main-checkbox-1"
type="checkbox"
class="main-container__checkbox"
checked
/>
<input
id="main-checkbox-2"
type="checkbox"
class="main-container__checkbox"
/>
<input
id="main-checkbox-3"
type="checkbox"
class="main-container__checkbox"
/>
<label for="main-checkbox-1" class="main-container__checkbox-label"
> </label
>
<label for="main-checkbox-2" class="main-container__checkbox-label"
> </label
>
<label for="main-checkbox-3" class="main-container__checkbox-label"
> </label
>
【问题讨论】:
标签: javascript html