HTML元素ID和Name屬性的特定差異

零下一度
發布: 2017-05-13 15:05:39
原創
1642 人瀏覽過

HTML元素的ID和Name屬性的區別

今天突然興致來了,想深究下這兩個屬性的具體區別
最classical的答案:ID就像是一個人的身分證號碼,而Name就像是他的名字,ID顯然是唯一的,而Name是可以重複的。      顯然這個ID和Name的解答說的太籠統了,當然那個解釋對於ID來說是完全對的,它就是Client端HTML元素的Identity。而Name其實要複雜的多,因為Name有很多種的用途,所以它並不能完全由ID來代替,從而將其取消掉。特定用途有:
     用途1: 作為可與伺服器互動資料的HTML元素的伺服器端的標示,例如input、select、textarea、和button等。我們可以在伺服器端根據其Name透過Request.Params取得元素提交的值。

     用途2: HTML元素Input type='radio'分組,我們知道radio button控制在同一個分組類,check操作是mutex的,同一時間只能選取一個radio,這個分組就是根據相同的Name屬性來實作的。

     用途3: 建立頁面中的錨點,我們知道link是獲得一個頁面超級鏈接,如果不用href屬性,而改用Name,如:,我們就獲得了一個頁面錨點。     

     用途4: 作為物件的Identity,如Applet、Object、Embed等元素。例如在Applet物件實例中,我們將使用其Name來引用該物件。

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

     用途6: 某些特定元素的屬性,如attribute,meta和param。例如為Object定義參數或Meta中

 顯然這些用途都不是能簡單的使用ID來代替掉的,所以HTML元素的ID和Name的卻別並不是身份證號碼和姓名這樣的區別,它們更本來就是不同作用的東西。

<input    name= "xx ">     会提交数据
<input   id= "xx ">     不会提交数据 
     <input   id= "xx "   name= "yy ">
<label   for= "xx "> Label </label>     这里的for属性必须是指向一个id,否则没效果 
     <input   name= "xx "   type= "radio "   value= "1 ">
<input   name= "xx "   type= "radio "   value= "2 ">
<input   name= "xx "   type= "radio "   value= "3 "> 这里必须name相同才能成为一组单选按钮,而id则没有这个功能。 
     <input   name= "xx ">     对应脚本document.getElementsByName( "xx ")[0]
<input   id= "xx ">         对应脚本document.getElementByIdx_x( "xx ")
登入後複製

以上就是這兩個屬性的具體差異。

【相關推薦】

1. 特別推薦「php程式設計師工具箱」V0.1版本下載

2. 免費html線上影片教學

#3. php.cn原創html5影片教學

以上是HTML元素ID和Name屬性的特定差異的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!