document.getElementById的用法实例解析

发布时间:2020-01-07编辑:脚本学堂
本文介绍下,javascript中document.getElementById的用法,分享下getElementById的一些例子,供大家学习参考。

本节内容:
document.getElementById的用法

语法:oElement = document . getElementById ( sID )
参数:sID――必选项。字符串 (String) 。

返回值:oElemen――对象 (Element) 。

说明:根据指定的 id 属性值得到对象。返回 id 属性值等于 sID 的第一个对象的引用。
假如对应的为一组对象,则返回该组对象中的第一个。 如果无符合条件的对象,则返回 null 。

注意: document.getElementById(" ") 得到的是一个对象,用 alert 显示得到的是“ object ”,而不是具体的值,它有 value 和 length 等属性,加上 .value 得到的才是具体的值!

细节:
① document.getElementById 有时会抓 name 放过了 id ,据说是 IE 的一个 BUG ;页面中有
 

复制代码 代码示例:
<input type="hidden" id="hello8" name="category_id" value="2" />
<select id="category_id" onchange="al();">

一个是name="category_id" 一个是id="category_id",用document.getElementById取第二个。
可是,取到的却是第一个name=category_id,在IE中getElementById竟然不是先抓id而是先找name相同的物件。
两个form,每个form有兩个textbox,兩个form中的textbox是相同的name,但id都不同,這樣在Firefox是沒問題的,但在IE卻只抓得到第一个出現的name資料。

验证此结果的例子:
 

复制代码 代码示例:
<HTML>
<HEAD>
<TITLE> getElementById - www.jb200.com</TITLE>
</HEAD>
<SCRIPT LANGUAGE="javascript">
<!--
function chkacc(){
alert(document.getElementById("tbxuid1").value);
alert(document.getElementById("tbxpwd1").value);
alert(document.getElementById("tbxuid").value);
alert(document.getElementById("tbxpwd").value);
}
//-->
</SCRIPT>
<BODY>
<FORM METHOD=POST ACTION="" name="frm1">
<INPUT TYPE="text" NAME="tbxuid" id="tbxuid1">
<INPUT TYPE="text" NAME="tbxpwd" id="tbxpwd1">
</FORM>
<FORM METHOD=POST ACTION="" name="frm2">
<INPUT TYPE="text" NAME="tbxuid" id="tbxuid">
<INPUT TYPE="text" NAME="tbxpwd" id="tbxpwd">
<INPUT TYPE="button" value="檢查" name="btnchk" onclick="chkacc();">
</FORM>
</BODY>
</HTML >
 

② javascript中的getElementbyId使用
网页中的元素必须有id属性,才能通过这个方法得到,比如<input type=text name="content" id="content">
③获取html标记主要有两种方法,一种是通过ID值,一种是通过name属性(name属性主要用于form表单内的input标记。)
 
document.getElementById(" ") 得到的是一个对象,用 alert 显示得到的是“ object ”,而不是具体的值,它有 value 和 length 等属性,加上 .value 得到的才是具体的值!
 
参考资料:
1. document . getElementById 的用法和 DHTML.CHM 的下载地址

document . getElementById 的用法,如下:
A :      语法:
     oElement = document . getElementById ( sID )
      参数:
     sID   : 必选项。字符串 (String) 。
      返回值:
     oElement   : 对象 (Element) 。
      说明:
      根据指定的 id 属性值得到对象。返回 id 属性值等于 sID 的第一个对象的引用。假如对应的为一组对象       ,则返回该组对象中的第一个。
      如果无符合条件的对象,则返回 null 。
B :例子:
 

复制代码 代码示例:
  ****************************************************************************
   *                                                                           *
   *   这个函数中最关键的地方是 document.getElementById ,他是什么呢?        *
   *                                                                           *
   *   关于 document.getElementById ,是这样的:                              *
   *                                                                     *
   *   如: document.getElementById('hdrPageHeader_lblTitle')               *
   *                                                                     *
   *   表示的意思是:获取 ID 为 :hdrPageHeader_lblTitle 的对象                  *
   *                                                                           *
   * <a >aa</a>                              *
   * <a >bb</a>                               *
   * <a >cc</a>                              *
   * <script language="javascript">                                      *
   * <!--                                                                *
   * var idtext=document.getElementById('hdrPageHeader_lblTitle')        *
   * alert(idtext.innerText)                                             *
   * //-->                                                               *
   * </script>

C :一个细节:
① document.getElementById 有时会抓 name 放过了 id ,据说是 IE 的一个 BUG ;
页面中有
<input type="hidden" value="2" />
<select>
一个是
用 document.getElementById 取第二个,可是,取到的却是第一个 >
在 IE 中 getElementById 竟然不是先抓 id 而是先找 name 相同的物件 ...
兩个 form, 每个 form 有兩个 textbox, 兩个 form 中的 textbox 是相同的 name, 但 id 都不同 ...
這樣在 Firefox 是沒問題的 ... 但在 IE 卻只抓得到第一个出現的 name 資料

2. document 对象
属性: title ; bgColor ; url; ( 使用: document.title)
方法:
focus
 
使得元素得到焦点并执行由 onfocus 事件指定的代码。
 
getElementById
获取对 ID 标签属性为指定值的第一个对象的引用。
 
getElementsByName
根据 NAME 标签属性的值获取对象的集合。
 
getElementsByTagName
获取基于指定元素名称的对象集合。