js中獲取頁面元素
js中web頁面元素的調用可以有兩種識別方法:id和name
自己在用的過程中總結一下id和name的使用區別。
一,使用范圍
除 BASE, HEAD, HTML, META, SCRIPT, STYLE, TITLE 標簽外,id 都可用.
name只用于APPLET,SELECT,FORM,FRAME,IFRAME,IMG,A,INPUT,OBJECT,MAP,PARAM,META. (name有時有自己的用途)
name 用于 form 內元素,提交需要
id 用于 form 外元素好用因為 DOM 能直接取得單一元素
document.getElementByIdx_x_x(“id_Number”) 得到的是單個元素
document.getElementsByName(“name”) 得到的是數組
注:元素的獲取方式
取得 id :document.getElementByIdx_x_x(“idname”)
取得 name : document.getElementsByName(“name”)[0?1?2?3?....]
表單元素 (form input textarea select) 與框架元素 (iframe frame) 用 name
這些元素都與表單 ( 框架元素作用于 form 的 target) 提交有關 , 在表單的接收頁面只
接收有 name 的元素 , 賦 ID 的元素通過表單是接收不到值的
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 ,和 param 。例如為 Object 定義參數。
二,唯一性區別
有些標簽,可以同時有name和id.
id 就像身分證號,是唯一的, name 就像姓名一樣可以同名
在一個HTML網頁中,id是唯一的,即只有某一個標簽,或某一個塊的標識符是這個id.
而當有多個name時,系統自動使同name歸為數組
賦 name: document.formName.inputName document.frames(“frameName”)
賦 ID : document.all.inputID document.all.frameID
在通用的情況下:
NAME.屬性
document.NAME.屬性
document.getElementsByName(‘NAME’)
ID.屬性
document.ID.屬性
document.getElementByIdx_x_x(‘ID).屬性