语法: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" οnchange="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 </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" οnclick="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 得到的才
是具体的值!