課程
/前端開發(fā)
/HTML/CSS
/初識HTML(5)+CSS(3)-升級版
for? name?? id 之間的不同 與關(guān)系
2016-04-09
源自:初識HTML(5)+CSS(3)-升級版 6-8
正在回答
id要符合標(biāo)識的要求,比如大小寫敏感,最好不要包含下劃線(因為不兼容CSS)。而name基本上沒有什么要求,甚至可以用數(shù)字。table、tr、td、div、p、span、h1、li等元素一般用id。與表單相關(guān)的元素也可以賦ID值, ?但為這些元素賦ID值的時候引用這些元素的方法就要變一下了,具體的如下: 賦name時,引用元素的方式: ?document.formName.inputName 或 document.frames("frameName") 賦id時,引用元素的方式: ?document.all.inputID 或 document.all.frameID 除去與表單相關(guān)的元素,只能賦id不能賦name,這些元素有body、li、a、table、tr、td、th、p、div、span、pre、dl、dt、dd、font、b等等
和夢一起飛 提問者
for 屬性規(guī)定 label 與哪個表單元素綁定。
id 屬性規(guī)定 HTML 元素的唯一的 id。
id 在 HTML 文檔中必須是唯一的。
name 屬性規(guī)定 input 元素的名稱。
name 屬性用于對提交到服務(wù)器后的表單數(shù)據(jù)進(jìn)行標(biāo)識。
我的理解是name屬性的值是給后臺看的,而id屬性只是為了方便標(biāo)識元素用的。for 屬性可把 label 綁定到另外一個元素。而這個元素就是以id標(biāo)識的元素。for起到一個“橋梁”的作用吧相當(dāng)于。
新手試答,有不對的地方歡迎指出。不喜勿噴哈哈。
name在以下用途是不可替代的:1. 表單(form)的控件名,提交的數(shù)據(jù)都用控件的name而不是id來控制。因為有許多name會同時對應(yīng)多個控件,比如checkbox和radio,而id必須是全文檔中唯一的。此外瀏覽器會根據(jù)name來設(shè)定發(fā)送到服務(wù)器的request。因此如果用id,服務(wù)器是無法得到數(shù)據(jù)的。2. frame和window的名字,用于在其他frame或window指定target。
以下兩者可以通用,但是建議用id不要用name:錨點(diǎn),通常以前寫作<a name="myname">,現(xiàn)在可以用任何的元素id來指定:<div id="myid">。
以下只能用id:
1. 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替代。2. CSS的元素選擇機(jī)制,以#MyId的方式指定應(yīng)用樣式的元素,不能用name替代。3. 腳本中獲得對象:IE支持在腳本中直接以id(而不是name)引用該id標(biāo)識的對象。例如上面的input,要在腳本中獲得輸入的內(nèi)容,可以直接以MyInput.value來獲得。如果用DOM的話,則用document.getElementByIdx("MyInput").value,如果要用name的話,通常先得到包含控件的form,例如document.forms[0],然后從form再引用name,注意這樣得到的是經(jīng)過計算后將發(fā)送給服務(wù)器的值。
舉報
HTML(5)+CSS(3)基礎(chǔ)教程8小時帶領(lǐng)大家步步深入學(xué)習(xí)標(biāo)簽用法和意義
3 回答速速求教啊
7 回答啊啊啊啊啊啊啊啊啊啊啊啊啊啊
10 回答好難啊 教教我
3 回答啊啊啊啊啊
11 回答求助求助啊
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2016-04-09
id要符合標(biāo)識的要求,比如大小寫敏感,最好不要包含下劃線(因為不兼容CSS)。而name基本上沒有什么要求,甚至可以用數(shù)字。table、tr、td、div、p、span、h1、li等元素一般用id。與表單相關(guān)的元素也可以賦ID值, ?但為這些元素賦ID值的時候引用這些元素的方法就要變一下了,具體的如下:
賦name時,引用元素的方式: ?document.formName.inputName 或 document.frames("frameName")
賦id時,引用元素的方式: ?document.all.inputID 或 document.all.frameID
除去與表單相關(guān)的元素,只能賦id不能賦name,這些元素有body、li、a、table、tr、td、th、p、div、span、pre、dl、dt、dd、font、b等等
2016-04-09
for 屬性規(guī)定 label 與哪個表單元素綁定。
id 屬性規(guī)定 HTML 元素的唯一的 id。
id 在 HTML 文檔中必須是唯一的。
name 屬性規(guī)定 input 元素的名稱。
name 屬性用于對提交到服務(wù)器后的表單數(shù)據(jù)進(jìn)行標(biāo)識。
我的理解是name屬性的值是給后臺看的,而id屬性只是為了方便標(biāo)識元素用的。for 屬性可把 label 綁定到另外一個元素。而這個元素就是以id標(biāo)識的元素。for起到一個“橋梁”的作用吧相當(dāng)于。
新手試答,有不對的地方歡迎指出。不喜勿噴哈哈。
2016-04-09
id要符合標(biāo)識的要求,比如大小寫敏感,最好不要包含下劃線(因為不兼容CSS)。而name基本上沒有什么要求,甚至可以用數(shù)字。table、tr、td、div、p、span、h1、li等元素一般用id。與表單相關(guān)的元素也可以賦ID值, ?但為這些元素賦ID值的時候引用這些元素的方法就要變一下了,具體的如下:
賦name時,引用元素的方式: ?document.formName.inputName 或 document.frames("frameName")
賦id時,引用元素的方式: ?document.all.inputID 或 document.all.frameID
除去與表單相關(guān)的元素,只能賦id不能賦name,這些元素有body、li、a、table、tr、td、th、p、div、span、pre、dl、dt、dd、font、b等等
2016-04-09
name在以下用途是不可替代的:
1. 表單(form)的控件名,提交的數(shù)據(jù)都用控件的name而不是id來控制。因為有許多name會同時對應(yīng)多個控件,比如checkbox和radio,而id必須是全文檔中唯一的。此外瀏覽器會根據(jù)name來設(shè)定發(fā)送到服務(wù)器的request。因此如果用id,服務(wù)器是無法得到數(shù)據(jù)的。
2. frame和window的名字,用于在其他frame或window指定target。
以下兩者可以通用,但是建議用id不要用name:
錨點(diǎn),通常以前寫作<a name="myname">,現(xiàn)在可以用任何的元素id來指定:<div id="myid">。
以下只能用id:
1. 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替代。
2. CSS的元素選擇機(jī)制,以#MyId的方式指定應(yīng)用樣式的元素,不能用name替代。
3. 腳本中獲得對象:
IE支持在腳本中直接以id(而不是name)引用該id標(biāo)識的對象。例如上面的input,要在腳本中獲得輸入的內(nèi)容,可以直接以MyInput.value來獲得。
如果用DOM的話,則用document.getElementByIdx("MyInput").value,如果要用name的話,通常先得到包含控件的form,例如document.forms[0],然后從form再引用name,注意這樣得到的是經(jīng)過計算后將發(fā)送給服務(wù)器的值。