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