從最終效果來看,label與span標簽顯示方式及作用都一樣的
但由於label中有for屬性的存在,也有着決定性的不同
for屬性將label和表單進行配對
label標簽通常是寫在表單(form)內的,他與一個普通的span最大的不同,就是可以和表單元素配對,比如文本框,單選框,復選框。而配對的方法,就是通過label的for屬性。
比如
1 |
<input type="text" name="" id="a" /><label for="b">點擊字,文本框獲取焦點</label><br/> |
測試以上代碼,可以看到,當點擊字的時候,會根據label的for屬性的值,找到對應的id元素
也就是說,只是點擊文字,對應的input也能獲得焦點
將lable改成span,然后加上了for,但沒有作用,這就是span與label的區別了。
功能與for相當的另一種寫法
如果你不想給label加for,但又想把input元素后面的文字和input本身關聯起來,那你也可以這樣:
1 |
<label><input type="checkbox" name="aksd" id="aksd" /> 幾個字</label> |
就是用label把input包起來。這樣的效果與input后緊跟加for的label效果相同:點擊文字即可選中復選框。
同樣,把代碼中的label換成span就不行了。
注意:label包input的方法,在IE6下無效!
推薦input與label分離的模式,因為這樣更靈活,你可以把input與label各自放在八竿子打不着的地方,但依然彼此關聯——多么忠貞而催人淚下的愛情啊!