可以說幾乎每個做過web開發的人都問過,到底元素的id和name有什麼區別阿?為什麼有了id還要有name呢?
而同樣我們也可以得到最經典的答案:
id就像是乙個人的身份證號碼,而name就像是他的名字,id顯然是唯一的,而name是可以重複的。
上面一段對於id和name的解答說的太籠統了,以下我們來具體**一下。
元素的時候,一般都是通過指定html元素的id或name
web標準下可以通過getelementbyid() 、getelementsbyname() 、 getelementsbytagname()訪問html文件中的任乙個元素。
要訪問某一特定元素盡量用標準的document.getelementbyid(id)。
如果乙個文件中
有兩個以上的標籤name相同
,那麼document.getelementsbyname(name)就可以取得這些元素組成
乙個陣列。
則用標準的document.getelementbytagname(tag)。
的是大小寫敏感的,而name基本上沒有什麼要求,甚至可以用數字
。1、表單元素(例如:form、input、textarea、select 、button 等)通常
與表單提交有關,在表單的接收頁面只接收有name的元素
,賦id的元素通過表單是接收不到值的。
在form裡面,如果不指定name的話,就不會傳送到伺服器端。
元素核取方塊checkbox、單選按鈕 radio 通常會對應多個控制項,這時必須
用name屬性來實現分組。同一組使用同乙個name
。使兩個題目的選項之間不產生干擾。 。
4、建立頁面中的
錨點,我們知道link是獲得乙個頁面超級鏈結,如果不用href屬性,而改用name,如:,我們就獲得了乙個頁面錨點。
5、在img元素和map元素之間關聯的時候,如果要定義img的熱點區域,需要使用其屬性usemap,使usemap="#name"(被關聯的map元素的name)。
1、label與form控制項的關聯。
<
label
for="myinput">my input
id="myinput" type="text">
for屬性指定與label關聯的元素的id,不可用name替代
2、id 可以用來設定乙個css樣式。
3、指令碼中獲得物件:ie支援在指令碼中直接以id(而不是name)引用該id標識的物件。
例如上面的input,要在指令碼中獲得輸入的內容,可以直接以 myinput.value來獲得。如果用dom的話,則用document.
getelementbyid
("myinput").value;
如果要用name的話,通常先得到包含控制項的form,例如document.forms[0],然後從form再引用name,注意這樣得到的是經過計算後將傳送給伺服器的值
name與id 區別
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等等
html中name與id的區別
可以說幾乎每個做過web開發的人都問過,到底元素的id和name有什麼區別阿?為什麼有了id還要有name呢?而同樣我們也可以得到最classical的答案 id就像是乙個人的身份證號碼,而name就像是他的名字,id顯然是唯一的,而name是可以重複的。name原來是為了標識之用,但是現在根據規範...
HTML中ID與Name的區別2
可以說幾乎每個做過web開發的人都問過,到底元素的id和name有什麼區別阿?為什麼有了id還要有name呢?而同樣我們也可以得到最classical的答案 id就像是乙個人的身份證號碼,而name就像是他的名字,id顯然是唯一的,而name是可以重複的。name原來是為了標識之用,但是現在根據規範...
html中NAME和ID區別
name 的最大作用就是可以與服務端進行互動。struts2中要設name的屬性才能在action中取到值,id取不到。id與name的作用,作為標籤的識別符號,基本上是一樣的.name是老方法,id是在name基礎上發明的,後來才有的,現代化 一點,用的範圍廣一點.name有時有自己的用途 tab...