-
id
定義:id 屬性規(guī)定 HTML 元素的唯一的 id。
用途:
- 用途1:id是HTML元素的Identity妻味,主要是在客戶端腳本里用正压。
- 用途2:label與form控件的關(guān)聯(lián),如
<label for="MyInput">My Input</label>
<input id="MyInput" type="text">
for屬性指定與label關(guān)聯(lián)的元素的id责球,不可用name替代 - 用途3:腳本中獲得對象:IE支持在腳本中直接以id(而不是name)引用該id標(biāo)識(shí)的對象焦履。
例如上面的input,要在腳本中獲得輸入的內(nèi)容雏逾,可以直接以 MyInput.value來獲得嘉裤。如果用DOM的話,則用document.getElementById("MyInput").value校套;
如果要用name的話价脾,通常先得到包含控件的form,例如document.forms[0]笛匙,然后從form再引用name侨把,注意這樣得到的是經(jīng)過計(jì)算 - 用途4:在css中作為設(shè)置標(biāo)簽的標(biāo)識(shí)。用于定義一個(gè)元素的獨(dú)特的樣式
-
name
定義:name 屬性規(guī)定控件的名稱妹孙。
用途:
- 用途1: 作為可與服務(wù)器交互數(shù)據(jù)的HTML元素的服務(wù)器端的標(biāo)示秋柄,比如input、select蠢正、textarea骇笔、和button等。我們可以在服務(wù)器端根據(jù)其Name通過Request.Params取得元素提交的值嚣崭。
- 用途2: HTML元素Input type='radio'分組笨触,我們知道radio button控件在同一個(gè)分組類,check操作是mutex的雹舀,同一時(shí)間只能選中一個(gè)radio芦劣,這個(gè)分組就是根據(jù)相同的Name屬性來實(shí)現(xiàn)的。
- 用途3: 建立頁面中的錨點(diǎn)说榆,我們知道<a href="URL">link</a>是獲得一個(gè)頁面超級(jí)鏈接虚吟,如果不用href屬性,而改用Name签财,如:<a name="PageBottom"></a>串慰,我們就獲得了一個(gè)頁面錨點(diǎn)。
- 用途4: 作為對象的Identity唱蒸,如Applet邦鲫、Object、Embed等元素油宜。比如在Applet對象實(shí)例中掂碱,我們將使用其Name來引用該對象怜姿。
- 用途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 = "Dave Raggett">
-
兩者聯(lián)系
相同點(diǎn):
都可以用于標(biāo)識(shí)元素
不同點(diǎn):
- 在一個(gè)HTML文當(dāng)中只能有唯一的ID名撬即,而name可以
- id要符合標(biāo)識(shí)的要求立磁,比如大小寫敏感,最好不要包含下劃線(因?yàn)椴患嫒軨SS)剥槐,而name沒有唱歧;
與表單相關(guān)的元素也可以賦ID值, 但引用方式不同
賦name時(shí),引用元素的方式document.formName.inputName 或 document.frames("frameName") 粒竖;
賦id時(shí)颅崩,引用元素的方式: document.all.inputID 或 document.all.frameID
- 只能賦id不能賦name,這些元素有body蕊苗、li沿后、a、table朽砰、tr尖滚、td、th瞧柔、p漆弄、div、span造锅、pre置逻、dl、dt、dd、font娘扩、b等等