使用JS獲取頁面元素(不使用框架)

轉載自:http://www.blogjava.net/yqslovelwb1314/articles/372306.html


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).屬性

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章