首頁  >  文章  >  web前端  >  HTML中ID與NAME的差別

HTML中ID與NAME的差別

巴扎黑
巴扎黑原創
2017-04-05 09:43:521629瀏覽

可以說幾乎每個做過Web開發的人都問過,到底元素的ID和Name有什麼差別阿?為什麼有了ID還要有Name?而同樣我們也可以得到最經典的答案:ID就像是一個人的身分證號碼,而Name就像是他的名字,ID顯然是唯一的,而Name是可以重複的。

上面一段對於ID和Name的解答說的太籠統了,以下我們來具體探討一下。

一、name和id 都可以用來呼叫html中的元素

當我們需要在腳本裡存取頁面內一個html元素的時候,一般都是透過指定HTML元素的id或name

# WEB標準下可以透過getElementById() 、getElementsByName() 、 getElementsByTagName()存取HTML文件中的任一個元素。

要存取某一特定元素盡量用標準的document.getElementById(id)。

如果一個文件中有兩個以上的標籤NAME相同,那麼document.getElementsByName(name)就可以取得這些元素來組成一個陣列。

存取標籤則用標準的document.getElementByTagName(tag)。

注意:id 標識的是大小寫敏感的,而name基本上沒有什麼要求,甚至可以用數字。

二、什麼情況下必須用name?

1.表單元素(例如:form、input、textarea、select 、button 等)通常與表單提交有關,在表單的接收頁面只接收有name的元素,賦id的元素透過表單是接收不到值的。

2.表單元素複選框checkbox、單選按鈕 radio 通常會對應多個控件,這時必須用name屬性來實現分組。同一組使用同一個name。使兩個題目的選項之間不會產生幹擾。

3.框架元素(iframe、frame)的名字,用於在其他iframe、frame指定target。

4.建立頁面中的錨點,我們知道91d83b4822db6c9c4aabe5918601cc24link5db79b134e9f6b82c0b36e0489ee08ed是獲得一個頁面超級鏈接,如果不用href屬性,而改用name,如:029682702b6277a67ebd72b563fab8f55db79b134e9f6b82c0b36e0489ee08ed,我們就拿到了一個頁面錨點。

5.在IMG元素和MAP元素之間關聯的時候,如果要定義IMG的熱點區域,需要使用其屬性usemap,使usemap="#name"(被關聯的MAP元素的name)。

6、某些特定元素的屬性,如attribute,meta和param。例如為Object定義參數c482d017ac37d0493b1edf90b225c0b5或Meta中46d5a0e5377847b89933ca8c01909b8f或Meta中46d5a0e5377847b89933ca8c01909b8f

三、什麼情況下必須用id ?

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:STHML 教程(4)下一篇:STHML 教程(4)