:idname
可以說幾乎每個做過
web開發的人都問過,到底元素的id和
name
有什麼區別阿?為什麼有了
id還要有
name
呢?!
而同樣我們也可以得到最
classical
的答案:
id就像是乙個人的身份證號碼,而
name
就像是他的名字,
id顯然是唯一的,而
name
是可以重複的。
上週我也遇到了id和
name
的問題,在頁面裡輸入了乙個
input type="hidden"
,只寫了乙個
id='sliceinfo'
,賦值後
submit
,在後台用
request.params["sliceinfo"]
卻怎麼也取不到值。後來恍然大悟因該用
name
來標示,於是在
input
裡加了個
name='sliceinfo'
,就一切
ok了。
第一段裡對於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,如、
object
、embed
等元素。比如在
物件例項中,我們將使用其
name
來引用該物件。
用途5:
在img
元素和map
元素之間關聯的時候,如果要定義
img的熱點區域,需要使用其屬性
usemap
,使usemap="#name"(
被關聯的
map元素的
name)。用途
6: 某些特定元素的屬性,如
attribute
,和param
。例如為
object
定義引數。
顯然這些用途都不是能簡單的使用
id來代替掉的,所以
html
元素的id
和name
的卻別並不是身份證號碼和姓名這樣的區別,它們根本就是不同作用的東西。 當然
html
元素的name
屬性在頁面中也可以起那麼一點
id的作用,因為在
dhtml
物件樹中,我們可以使用
document.getelementsbyname
來獲取乙個包含頁面中所有指定
name
元素的物件陣列。
在這裡順便說一下,要是頁面中有
n(n>1)
個html
元素的id
都相同了怎麼辦?在
dhtml
物件中怎麼引用他們呢?如果我們使用
aspx
頁面,這樣的情況是不容易發生的,因為
aspnet
程序在處理
aspx
頁面時根本就不允許有
id非唯一,這是頁面會被丟擲異常而不能被正常的
render
。要是不是動態頁面,我們硬要讓
id重複那
ie怎麼搞呢?
這個時候我們還是可以繼續使用
document.getelementbyid
獲取物件,只不過我們只能獲取
id重複的那些物件中在
html render
時第乙個出現的物件。而這時重複的
id會在引用時自動變成乙個陣列,
id重複的元素按
render
的順序依次存在於陣列中
另外加一些常用的正規表示式:
HTml新標籤屬性頁面
pc端 移動端 定義article 定義頁面內容之外的內容 定義 section 或 page 的頁尾 3536 class box 3738 原石尺寸 39img back.png 404142 over 43這個屬性定義溢位元素內容區的內容會如何處理。如果值為 scroll,不論是否需要,使用者...
標籤屬性 物件屬性
doctype html en utf 8 viewport content width device width,initial scale 1.0 document title head div1 title qqqqq 123123 div checkbox name id ck 標籤屬性 物...
web標籤設計
一 為何要關心web標籤 這周每天下午都會花點時間看 的日誌,日誌記錄了使用者在瀏覽 的行為軌跡,不是每一家公司都能邀請使用者進行測試和訪談,所以 日誌是運營者和設計者了解使用者的乙個重要途徑。在使用者的搜尋日誌裡,發現很多使用者不去使用我們設計的標籤,通常在外部搜尋引擎裡輸入相關內容,搜尋引擎匹配...