ID簡述
id,是identity的縮寫窘哈,中文"身份標(biāo)識號碼"被廓。id的標(biāo)準(zhǔn)定義:“此屬性指定一個元素的名稱术荤。此名稱必須在文檔中是唯一的”雌澄,主要是在客戶端腳本里用斋泄。
-
用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)示是己。瀏覽器會根據(jù)name來設(shè)定發(fā)送到服務(wù)器的request, 在表單的接收頁面只接收有name的元素, 所以賦ID的元素通過表單是接收不到值的任柜。
- HTML元素Input type='radio'分組卒废,我們知道radio button控件在同一個分組類,check操作是mutex的宙地,同一時間只能選中一個radio摔认,這個分組就是根據(jù)相同的name屬性來實現(xiàn)的。
- 建立頁面中的錨點宅粥,我們知道<a href="URL">link</a>是獲得一個頁面超級鏈接参袱,如果不用href屬性,而改用name秽梅,如:<a name="PageBottom"></a>抹蚀,我們就獲得了一個頁面錨點
- 作為對象的Identity,如Applet企垦、Object环壤、Embed等元素。比如在Applet對象實例中钞诡,我們將使用其name來引用該對象郑现。
- 在IMG元素和MAP元素之間關(guān)聯(lián)的時候,如果要定義IMG的熱點區(qū)域荧降,需要使用其屬性usemap接箫,使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屬性取值在一個表單(form)內(nèi)應(yīng)該是唯一的
區(qū)別
如何選擇name與id
name屬性瞎领,通常用于為服務(wù)器端語言(例如:PHP、JSP)獲取用戶提交的信息随夸。id屬性,通常用于為客戶端語言(例如:JavaScript震放、CSS)進行關(guān)聯(lián)完成相關(guān)功能宾毒。
常用注意
1、同一個Form里不能有多個name屬性相同的HTML標(biāo)記殿遂,但如果一個 網(wǎng)頁中有多個Form诈铛,則不同的Form里可以有同個Name屬性的標(biāo)記乙各。而ID是全局的,在一個HTML文檔里不能有多個節(jié)點使用相同的ID幢竹,無論它處在哪個Form里耳峦。
2、在建立CSS樣式的時候焕毫,可以建立ID樣式表(以#為前綴)蹲坷,使具有該ID的樣式直接應(yīng)用該樣式,而無法建立Name樣式表邑飒。
3循签、在進行網(wǎng)頁編輯時建議使用ID來標(biāo)識一個節(jié)點,而不是使用Name(除非是為了Post提交的需要)疙咸,同樣使用Javascript進行Dom節(jié)點定位時建議使用getElementById方法县匠,因為只有ID能唯一標(biāo)識一個節(jié)點,而同一個網(wǎng)頁里可能會有多個Name屬性相同的節(jié)點撒轮,它們分別處在不同的Form里乞旦。