在学习HTML——form表单中的label标签时的一点小体会
在我啃了一遍书本之后,开始了在慕课看视频的过程,从最开始的HTML+CSS的基础课程看起,在第5-9小节讲到了form表单的label标签,
首先看一下慕课的讲解:
label 标签不会向用户呈现任何特殊效果,它的作用是为鼠标用户改进了可用性。如果你在 label 标签内点击文本,就会触发此控件。就是说,当用户单击选中该label标签时,浏览器就会自动将焦点转到和标签相关的表单控件上(就自动选中和该 label标签相关连的表单控件上)。然后她提到了一个特别注意:
注意:标签的 for 属性中的值应当与相关控件的 id 属性值一定要相同。
再来看一下W3CSchool对于label标签的定义和用法:
<label> 标签为 input 元素定义标注(标记)。
label 元素不会向用户呈现任何特殊效果。不过,它为鼠标用户改进了可用性。如果您在 label 元素内点击文本,就会触发此控件。就是说,当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上。
<label> 标签的 for 属性应当与相关元素的 id 属性相同。
同样的,W3CSchool对于label标签的用法中也提到了<label> 标签的 for 属性应当与相关元素的 id 属性相同。那么这一要求到底是起到什么作用的呢,在慕课的讲解中并没有一个直观的解释,但是在W3CScho中给了一个解释:"for" 属性可把 label 绑定到另外一个元素。请把 "for" 属性的值设置为相关元素的 id 属性的值。
在这里引起我注意的就是绑定这个词。以慕课上的的代码为例子
- 你对什么运动感兴趣:<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标签for属性的值相同的id属性所在的input标签,实际的显示效果就是如下图,在单击慢跑时,它右侧的复选框被选中。
在当时,我主观形象的认为,绑定就是将这一行构成一个整体,点击这一行的哪个部分都视作在点击复选框。然而后来我认识到绑定不应该是这种显式的构造整体,所以我又写了下面这段代码:
- 你对什么运动感兴趣:<br />
- <label for="jog">慢跑</label>
- <input type="checkbox" name="jog" id="climb" /><br />
- <label for="climb">登山</label>
- <input type="checkbox" name="climb" id="jog" /><br />
- <label for="basketball">篮球</label>
- <input type="checkbox" name="basketball" id="basketball" />
这组代码实际的作用是相同的,在我的鼠标单击慢跑时,浏览器会自动的帮我把焦点相应的转到与慢跑的label标签for属性的值相同的id属性所在的input标签,实际的显示效果就是如下图,在单击慢跑时,它下方右侧的复选框被选中。这是因为,此时与慢跑的label标签for属性的值"jog"相同的id属性值"jog"所在的input标签是位于第二行的。
通过这两组代码的对比,应该可以比较明显的看出绑定这个事件的具体表现。
虽然label这个标签的使用是非常简单的,但也希望有人能够通过我的这篇博文,充分认识到for属性的值与id属性值相同的必要,避免由于这点小的失误造成代码的错误。
作为作为刚刚走在前端这条路上的新手,虽然可能很多人都知道了label标签的正确用法,我还是决定下下来,作为自己学习路上的见证。
在学习HTML——form表单中的label标签时的一点小体会的更多相关文章
- form表单中的label标签
小伙伴们,你们在前面学习表单各种控件的时候,有没有发现一个标签--label,这一小节就来揭晓它的作用. label标签不会向用户呈现任何特殊效果,它的作用是为鼠标用户改进了可用性.如果你在 labe ...
- HTML--form表单中的label标签
小伙伴们,你们在前面学习表单各种控件的时候,有没有发现一个标签--label,这一小节就来揭晓它的作用. label标签不会向用户呈现任何特殊效果,它的作用是为鼠标用户改进了可用性.如果你在 labe ...
- form表单中只有一个input时,按回车键后表单自动提交(form表单的一个小坑)
form中只有一个input按回车键表单会自动提交 在一个form表单中,若只有一个input,按回车键表单会自动提交,但是当表单中存在多个input时,按回车键不会执行任何操作,这是form表单的一 ...
- Unieap3.5-禁用Form表单中的全部标签
var form=unieap.byId('customerForm'); var children=form.getDescendants(); dojo.forEach(children,func ...
- form表单中使用a标签代替button或commit进行数据提交
1.申明form的id:xxx 2.在<a>标签内书添加属性 onclick="document:xxx.submit()"
- 今天在研究jquery用ajax提交form表单中得数据时,学习到了一种新的提交方式
今天在研究jquery用ajax提交form表单中得数据时,学习到了一种新的提交方式 jquery中的serialize() 方法 该方法通过序列化表单值,创建 URL 编码文本字符串 序列化的值可在 ...
- jsp中的form表单中的 id和name有什么区别了
<form action="./system/WebServer_webServerLogin" method="post" id="login ...
- django重写form表单中的局部钩子函数
from django import forms from django.core.exceptions import ValidationError from jax import models c ...
- form表单中的id 与name的区别
以前经常写form表单时,不写id和name,总觉得没有什么用.后来一看后台套完的页面发现,他们都补上name,不知道所以然,就查了一下资料,吓我一跳,要是照我那样写根本不会有数据传到服务器.原来表单 ...
随机推荐
- 不平衡分类学习方法 --Imbalaced_learn
最近在进行一个产品推荐课题时,由于产品的特性导致正负样本严重失衡,远远大于3:1的比例(个人认为3:1是建模时正负样本的一个临界点),这样的样本不适合直接用来建模,例如正负样本的比例达到了50:1,就 ...
- 【洛谷P2676】超级书架
题目描述 Farmer John最近为奶牛们的图书馆添置了一个巨大的书架,尽管它是如此的大,但它还是几乎瞬间就被各种各样的书塞满了.现在,只有书架的顶上还留有一点空间. 所有N(1 <= N & ...
- 【洛谷 P3648】 [APIO2014]序列分割 (斜率优化)
题目链接 假设有\(3\)段\(a,b,c\) 先切\(ab\)和先切\(bc\)的价值分别为 \(a(b+c)+bc=ab+bc+ac\) \((a+b)c+ab=ab+bc+ac\) 归纳一下可以 ...
- 【leetcode 简单】第十二题 报数
报数序列是指一个整数序列,按照其中的整数的顺序进行报数,得到下一个数.其前五项如下: 1. 1 2. 11 3. 21 4. 1211 5. 111221 1 被读作 "one 1&quo ...
- input复选框checkbox默认样式纯css修改
修改之前的样式 修改之后的样式 html <input type="checkbox" name="btn" id="btn1"&g ...
- 【转载】在GitHub上管理项目
在GitHub上管理项目 新建repository 本地目录下,在命令行里新建一个代码仓库(repository) 里面只有一个README.md 命令如下: touch README.md git ...
- 使用正则表达式匹配IP地址
IP地址分为4段,以点号分隔.要对IP地址进行匹配,首先要对其进行分析,分成如下部分,分别进行匹配: 第一步:地址分析,正则初判 1.0-9 \d 进行匹配 2.10-99 [1-9]\d 进行匹 ...
- 001使用smokeping监控idc机房网络质量情况
最近工作比较忙,也没有时间写博客,看到好友芮峰云最近一直在写博客,所以也手痒了,就先把之前的一些积累下来的文章分享给大家. 本文是介绍如何的使用smokeping来监控idc机房的网络质量情况,从监控 ...
- java关键字(详解)
目录 1. 基本类型 1) boolean 布尔型 2) byte 字节型 3) char 字符型 4) double 双精度 5) float 浮点 6) int 整型 7) long 长整型 8) ...
- Photon3Unity3D.dll 解析四——LitePeer
LitePeer 玩家 Connect 连接服务器 Disconnect 断开与服务器的连接 OpJoin 进入游戏 OpLeave 离开游戏,但仍与服务器保持连接 ...