可以說幾乎每個做過Web開發的人都問過,到底元素的ID和Name有什麼差別阿?為什麼有了ID還要有Name?而同樣我們也可以得到最經典的答案:ID就像是一個人的身分證號碼,而Name就像是他的名字,ID顯然是唯一的,而Name是可以重複的。
上面一段對於ID和Name的解答說的太籠統了,以下我們來具體探討一下。
當我們需要在腳本裡存取頁面內一個html元素的時候,一般都是透過指定HTML元素的id或name
# WEB標準下可以透過getElementById() 、getElementsByName() 、 getElementsByTagName()存取HTML文件中的任一個元素。
要存取某一特定元素盡量用標準的document.getElementById(id)。
如果一個文件中有兩個以上的標籤NAME相同,那麼document.getElementsByName(name)就可以取得這些元素來組成一個陣列。
存取標籤則用標準的document.getElementByTagName(tag)。
注意:id 標識的是大小寫敏感的,而name基本上沒有什麼要求,甚至可以用數字。
1.表單元素(例如:form、input、textarea、select 、button 等)通常與表單提交有關,在表單的接收頁面只接收有name的元素,賦id的元素透過表單是接收不到值的。
2.表單元素複選框checkbox、單選按鈕 radio 通常會對應多個控件,這時必須用name屬性來實現分組。同一組使用同一個name。使兩個題目的選項之間不會產生幹擾。
3.框架元素(iframe、frame)的名字,用於在其他iframe、frame指定target。
4.建立頁面中的錨點,我們知道link是獲得一個頁面超級鏈接,如果不用href屬性,而改用name,如:,我們就拿到了一個頁面錨點。
5.在IMG元素和MAP元素之間關聯的時候,如果要定義IMG的熱點區域,需要使用其屬性usemap,使usemap="#name"(被關聯的MAP元素的name)。
6、某些特定元素的屬性,如attribute,meta和param。例如為Object定義參數或Meta中或Meta中
1.label與form控件的關聯。例如:
<label for="myInput">文本录入框</label> <input id="myInput" type="text" />
2、id 可以用來設定一個css樣式。例如:
<style type="text/css"> #my { font-size: 12px; color: red; } </style> <p id="my">设置字体大小和颜色</p>
以上是HTML中ID與NAME的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!