任务
我来试试:完成下面任务
要求:慢跑、登山和篮球复选框要与各自的复选项用for属性关联。效果图如下:
<form>
你对什么运动感兴趣:<br/>
<input type="checkbox" name="1" value="慢跑"/>慢跑
<br />
<input type="checkbox" name="2" value="登山"/>登山
<br />
<input type="checkbox" name="3 value="篮球"/>篮球
</form>
跟标准答案有什么区别
你对什么运动感兴趣:<br />
<label for="jog">慢跑</label>
<input type="checkbox" name="jog" id="jog" /><br />
<label for="climb">登山</label>
<input type="checkbox" name="climb" id="climb" /><br />
<label for="basketball">篮球</label>
<input type="checkbox" name="basketball" id="basketball" />
你的答案里没有使用label标签。label标签是用来增加鼠标用户体验的,点击label标签的时候,浏览器把焦点自动转移到label标签for属性对应的表单控件上,形同于点击了这个表单控件。然后我还有个问题,我发现这个标准答案的name属性不是统一的,记得前面说过name属性对应了分组,属性的值一样那么就在一个分组里。但是这里这几个选项应该是在同一分组里吧?为什么会用不统一的name属性的值?
name值是要统一的!
label标签不会向用户呈现任何特殊效果,作用:为鼠标用户改进了可行性;
语法<label for="控件id名称">
注意:标签的for属性的值应与相关控件的id属性值一定要相同
区别在于应用了label元素,点击文字的时候可以 选中/反选 对应的多选框。没有应用label 点击多选框的文字是不能选中/反选 的。注意:label的for值要与input设置的ID值一致
缺少<form>
你没有理解label的含义。
label标签不会向用户呈现任何特殊效果,它的作用是为鼠标用户改进了可用性。如果你在 label 标签内点击文本,就会触发此控件。就是说,当用户单击选中该label标签时,浏览器就会自动将焦点转到和标签相关的表单控件上(就自动选中和该label标签相关连的表单控件上)。
标准答案用的for属性关联 你写的只是添加了复选框的代码 慢跑、登山和篮球复选框没有与for属性关联