ID簡述
id,是identity的縮寫,中文"身份標(biāo)識(shí)號(hào)碼"。id的標(biāo)準(zhǔn)定義:“此屬性指定一個(gè)元素的名稱。此名稱必須在文檔中是唯一的”,主要是在客戶端腳本里用。
-
用id作為CSS(style sheet)的選擇符
#tablecolor_id{ color: #cccc00;} -
作為JavaScript引用的元素名稱
<input id="input_name" type="text" value="name" /> document.getElementById("input_name").value;訪問元素的
NAME簡述
- 主要是用于獲取提交表單的某表單域信息。作為可與服務(wù)器交互數(shù)據(jù)的HTML元素的服務(wù)器端的標(biāo)示。瀏覽器會(huì)根據(jù)name來設(shè)定發(fā)送到服務(wù)器的request, 在表單的接收頁面只接收有name的元素, 所以賦ID的元素通過表單是接收不到值的。
- HTML元素Input type='radio'分組,我們知道radio button控件在同一個(gè)分組類,check操作是mutex的,同一時(shí)間只能選中一個(gè)radio,這個(gè)分組就是根據(jù)相同的name屬性來實(shí)現(xiàn)的。
- 建立頁面中的錨點(diǎn),我們知道<a href="URL">link</a>是獲得一個(gè)頁面超級(jí)鏈接,如果不用href屬性,而改用name,如:<a name="PageBottom"></a>,我們就獲得了一個(gè)頁面錨點(diǎn)
- 作為對(duì)象的Identity,如Applet、Object、Embed等元素。比如在Applet對(duì)象實(shí)例中,我們將使用其name來引用該對(duì)象。
- 在IMG元素和MAP元素之間關(guān)聯(lián)的時(shí)候,如果要定義IMG的熱點(diǎn)區(qū)域,需要使用其屬性u(píng)semap,使usemap="#name"(被關(guān)聯(lián)的MAP元素的Name)。
- 某些特定元素的屬性,如attribute,meta和param。例如為Object定義參數(shù)<PARAM NAME = "appletParameter" VALUE = "value">或Meta中<META NAME = "Author" CONTENT = "Dave Raggett">。
name屬性取值在一個(gè)表單(form)內(nèi)應(yīng)該是唯一的
區(qū)別

如何選擇name與id
name屬性,通常用于為服務(wù)器端語言(例如:PHP、JSP)獲取用戶提交的信息。id屬性,通常用于為客戶端語言(例如:JavaScript、CSS)進(jìn)行關(guān)聯(lián)完成相關(guān)功能。
常用注意
1、同一個(gè)Form里不能有多個(gè)name屬性相同的HTML標(biāo)記,但如果一個(gè) 網(wǎng)頁中有多個(gè)Form,則不同的Form里可以有同個(gè)Name屬性的標(biāo)記。而ID是全局的,在一個(gè)HTML文檔里不能有多個(gè)節(jié)點(diǎn)使用相同的ID,無論它處在哪個(gè)Form里。
2、在建立CSS樣式的時(shí)候,可以建立ID樣式表(以#為前綴),使具有該ID的樣式直接應(yīng)用該樣式,而無法建立Name樣式表。
3、在進(jìn)行網(wǎng)頁編輯時(shí)建議使用ID來標(biāo)識(shí)一個(gè)節(jié)點(diǎn),而不是使用Name(除非是為了Post提交的需要),同樣使用Javascript進(jìn)行Dom節(jié)點(diǎn)定位時(shí)建議使用getElementById方法,因?yàn)橹挥蠭D能唯一標(biāo)識(shí)一個(gè)節(jié)點(diǎn),而同一個(gè)網(wǎng)頁里可能會(huì)有多個(gè)Name屬性相同的節(jié)點(diǎn),它們分別處在不同的Form里。