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>
相關文章
- jQuery中empty與html("")的區別對比jQueryHTML
- HTML與XHTML的區別HTML
- Oracle中DB_NAME,SID,DB_DOMAIN,SERVICE_NAME等之間的區別OracleAI
- instance_name、db_name、ORACLE_SID、db_name等的區別Oracle
- Html ul與ol的區別HTML
- Android中 @和?區別以及?attr/**與@style/**等的區別Android
- oracle中service_name區別總結Oracle
- append()與html() 區別APPHTML
- 前端渲染HTML與後端渲染HTML的區別前端HTML後端
- CSS中的class與id區別及用法CSS
- JQuery中的html() text() val()區別jQueryHTML
- html中list-style-type與list-style的區別HTML
- 微信開發中 openID 與 unionID 的區別
- db_name和db_unique_name的區別
- ACID中C與CAP定理中C的區別
- Meta標籤中name和http-equiv的區別HTTPUI
- read name 和 read 在 Bash 中的區別
- HTML5 SVG與Canvas的區別HTMLSVGCanvas
- HTML5系列:HTML5與HTML4的區別HTML
- db_name,db_domain, global_name, service_name的區別AI
- JQuery中html()和val()的用法區別jQueryHTML
- setuid()與seteuid()的區別UI
- Javascript中“==”與“===”的區別JavaScript
- js中“==”與"==="的區別JS
- DB_NAME、DB_UNIQUE_NAME、SERVICE_NAME和INSTANCE_NAME等的區別
- Oracle SID和Service_Name有什麼區別?Oracle
- XHTML?它與 HTML的區別?如何轉換HTML
- HTLM4與HTML5的區別HTML
- XML和HTML的主要區別、 jQuery 能做什麼?JavaScript中的“=、==、===”區別?XMLHTMLjQueryJavaScript
- 區別:DOM Core 與 HTML-DOMHTML
- grid 與 treelist 的區別
- scrollWidth,clientWidth與offsetWidth的區別client
- Java中(==)與equals的區別Java
- numpy中dot與*的區別
- Python中 ‘==‘ 與‘is‘的區別Python
- append()函式與html()函式的區別APP函式HTML
- Android中Handler Runnable與Thread的區別詳解Androidthread
- SID、ORACLE_SID、INSTANCE_NAME、DB_NAME、SERVER_NAMES、GLOBAL_DBNAME等區別OracleServer