HTML中ID與NAME的區別
可以說幾乎每個做過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、建立頁面中的錨點,我們知道<a href="URL">link</a>是獲得一個頁面超級連結,如果不用href屬性,而改用name,如:<a name="pageTop"></a>,我們就獲得了一個頁面錨點。
5、在IMG元素和MAP元素之間關聯的時候,如果要定義IMG的熱點區域,需要使用其屬性usemap,使usemap="#name"(被關聯的MAP元素的name)。
6、某些特定元素的屬性,如attribute,meta和param。例如為Object定義引數<PARAM NAME = "appletParameter" VALUE = "value">或Meta中<META NAME = "Author" CONTENT = "Admin10000.com">
三、什麼情況下必須用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> <div id="my">設定字型大小和顏色</div>
相關文章
- HTML中的tag、element、class、name、idHTML
- CSS中的class與id區別及用法CSS
- HTML與XHTML的區別HTML
- Android Studio中的package name和application IDAndroidPackageAPP
- 前端渲染HTML與後端渲染HTML的區別前端HTML後端
- html中list-style-type與list-style的區別HTML
- JQuery中html()和val()的用法區別jQueryHTML
- XHTML?它與 HTML的區別?如何轉換HTML
- ios instancetype和id的區別iOS
- 7.57 CON_NAME_TO_ID
- XML和HTML的主要區別、 jQuery 能做什麼?JavaScript中的“=、==、===”區別?XMLHTMLjQueryJavaScript
- Javascript中“==”與“===”的區別JavaScript
- Python中 ‘==‘ 與‘is‘的區別Python
- HTML的行內元素與塊級元素的區別?HTML
- HTTP_HOST 和 SERVER_NAME 的區別HTTPServer
- Java中(==)與equals的區別Java
- jQuery的html()和text()區別jQueryHTML
- 淺析HTML、CSS、JavaScript之間的聯絡與區別!HTMLCSSJavaScript
- js中 let 與 var 的區別JS
- vue中sass與SCSS的區別VueCSS
- js中!和!!的區別與用法JS
- JavaScript 中substr與 substring 的區別JavaScript
- Vue 中ref()與 reactive() 的區別VueReact
- docment.getelementbyid 和jquery裡的$(#'id')區別jQuery
- React事件與普通HTML事件有什麼區別React事件HTML
- spring中的FactoryBean與ObjectFactory的區別SpringBeanObject
- css中class和id選擇器有什麼區別?CSS
- viewflow在html和body的區別ViewHTML
- text/html和text/plain的區別HTMLAI
- HTML id 屬性HTML
- ZigBee 擴充套件 PAN [EPID] 的目的及其與 16 位 PAN ID [PID] 的區別。套件
- Java中類與物件的關係與區別Java物件
- jQuery html(),text(),val()區別jQueryHTML
- vue中 lang="ts"與js的區別VueJS
- StringUtils類中isEmpty與isBlank的區別
- Vue的mode中 hash 與 history 的區別Vue
- ??與?:的區別
- MySQL中TEXT與BLOB欄位型別的區別MySql型別
- JPA中PersistenceUnit與PersistenceContext區別Context