總的來說,name是用來提交數(shù)據(jù)的堕仔,提供給表單用,可以重復(fù)晌区;id則針對文檔操作時(shí)候用摩骨,不能重復(fù)。如:document.getElementById()朗若;
什么情況下必須用name?
1恼五、表單元素(例如:form、input哭懈、textarea灾馒、select 、button 等)通常與表單提交有關(guān)遣总,在表單的接收頁面只接收有name的元素睬罗,賦id的元素通過表單是接收不到值的。
2旭斥、表單元素復(fù)選框checkbox容达、單選按鈕 radio 通常會對應(yīng)多個(gè)控件,這時(shí)必須用name屬性來實(shí)現(xiàn)分組垂券。同一組使用同一個(gè)name花盐。使兩個(gè)題目的選項(xiàng)之間不產(chǎn)生干擾。
3菇爪、框架元素(iframe卒暂、frame)的名字,用于在其他iframe娄帖、frame指定target。
4昙楚、建立頁面中的錨點(diǎn)近速,我們知道<a href="URL">link</a>是獲得一個(gè)頁面超級鏈接,如果不用href屬性,而改用name削葱,如:<a name="pageTop"></a>奖亚,我們就獲得了一個(gè)頁面錨點(diǎn)。
5析砸、在IMG元素和MAP元素之間關(guān)聯(lián)的時(shí)候昔字,如果要定義IMG的熱點(diǎn)區(qū)域,需要使用其屬性usemap首繁,使usemap="#name"(被關(guān)聯(lián)的MAP元素的name)作郭。
6、某些特定元素的屬性弦疮,如attribute夹攒,meta和param。例如為Object定義參數(shù)<PARAM NAME = "appletParameter" VALUE = "value">或Meta中<META NAME = "Author" CONTENT = "Admin10000.com">
什么情況下必須用id ?
1胁塞、label與form控件的關(guān)聯(lián)咏尝。例如:
<label for="myInput">文本錄入框</label>
<input id="myInput" type="text"/>
2、id 可以用來設(shè)置一個(gè)css樣式啸罢。例如:
<style type="text/css">
#my
{
font-size: 12px;
color: red;
}
</style>
<div id="my">設(shè)置字體大小和顏色</div>