从最终效果来看,label与span标签显示方式及作用都一样的
但由于label中有for属性的存在,也有着决定性的不同
for属性将label和表单进行配对
label标签通常是写在表单(form)内的,他与一个普通的span最大的不同,就是可以和表单元素配对,比如文本框,单选框,复选框。而配对的方法,就是通过label的for属性。
比如
测试以上代码,可以看到,当点击字的时候,会根据label的for属性的值,找到对应的id元素
也就是说,只是点击文字,对应的input也能获得焦点
将lable改成span,然后加上了for,但没有作用,这就是span与label的区别了。
功能与for相当的另一种写法
如果你不想给label加for,但又想把input元素后面的文字和input本身关联起来,那你也可以这样:
就是用label把input包起来。这样的效果与input后紧跟加for的label效果相同:点击文字即可选中复选框。
同样,把代码中的label换成span就不行了。
注意:label包input的方法,在IE6下无效!
推荐input与label分离的模式,因为这样更灵活,你可以把input与label各自放在八竿子打不着的地方,但依然彼此关联——多么忠贞而催人泪下的爱情啊!