选择框和单选框
一个选择框只是一个双选切换。其值可以通过其包含一个布尔值的checked
属性来获取和更改。
<label>
<input type="checkbox" id="purple"> Make this page purple
</label>
<script>
let checkbox = document.querySelector("#purple");
checkbox.addEventListener("change", () => {
document.body.style.background =
checkbox.checked ? "mediumpurple" : "";
});
</script>
<label>
标签关联部分文本和一个输入字段。点击标签上的任何位置将激活该字段,这样会将其聚焦,并当它为复选框或单选按钮时切换它的值。
单选框和选择框类似,不过单选框可以通过相同的name
属性,隐式关联其他几个单选框,保证只能选择其中一个。
Color:
<label>
<input type="radio" name="color" value="orange"> Orange
</label>
<label>
<input type="radio" name="color" value="lightgreen"> Green
</label>
<label>
<input type="radio" name="color" value="lightblue"> Blue
</label>
<script>
let buttons = document.querySelectorAll("[name=color]");
for (let button of Array.from(buttons)) {
button.addEventListener("change", () => {
document.body.style.background = button.value;
});
}
</script>
提供给querySelectorAll
的 CSS 查询中的方括号用于匹配属性。 它选择name
属性为"color"
的元素。