Web前端技术 · 第 4 课预测 · 验证 · 解释
代码实验

默认选中由属性是否存在决定

checked 是布尔属性:写出了这个属性就表示默认选中,写 checked="false" 也不能表示不选。两项可以共用 name,但各自用 value 表示不同项目。

先判断

先不运行,也不改变选中状态:这组黄梅戏体验项目默认选中了哪些?

<!doctype html>
<html lang="zh-CN">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>选择黄梅戏体验项目</title>
</head>
<body>
  <form>
    <fieldset>
      <legend>体验项目</legend>
      <label>
        <input type="checkbox" name="interest" value="singing" checked="false">
        唱腔体验
      </label>
      <label>
        <input type="checkbox" name="interest" value="costume">
        服饰体验
      </label>
    </fieldset>
  </form>
</body>
</html>

再改一个条件

展开答案与分析

B。HTML 布尔属性看“有没有写”,不能用字符串 false 关闭。这里 checked="false" 不是规范的布尔属性取值写法,但浏览器仍按属性存在处理。若要默认不选,应省略 checked。共用 name 不会让复选框自动同步勾选。

观察位置:先看两个复选框的初始状态,再与源码中属性的存在情况对照。