日期:2014-05-16  浏览次数:20314 次

JAVASCRIPT获取对象的N多方法

工作已有半年多了,回头看一下好象没有学到什么东西,有一种虚无缥缈的感觉.所以决定赶快把自己学到的一些好东西和大家分享一下,也可以使自己温习一下.先回想以下JavaScript的一些东西吧,首先是一些基本知识,如何获取当前页面上的指定对象.

方法如下:

document.getElementById(ID)???????//获得指定ID值的对象

document.getElementsByName(Name)??//获得指定Name值的对象数组

document.all[]?? //很智能的东东 不过非WEB标准

document.getElementsByTagName??//获得指定标签值的对象数组

下面给出例子,只需把注释去掉直接运行就可看出效果.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY>
<form method="post" name="mainFrm" action="">
?<input type="hidden" name="text" id="text" style="width:100%" value="练习而已">
?<input type="hidden" name="organizationId" style="width:100%" value="验证DOCUMENT.ALL">
?<table width="100%" border="1">
??????? <tr height="22">
??????????? <td width="15%" align="right">库存组织:</td>
??????????? <td width="20%"><input type="text" name="organizationId" id="organizationId" style="width:100%" value="库存组织"></td>
??</tr>
??<tr>
??????????? <td width="15%" align="right">子库编码:</td>
??????????? <td width="20%">
???<select name="subinventoryCode" style="width:100%" id="subinventoryCode">
????<option value="QTWL">QTWL</option>
????<option value="BTSPT">BTSPT</option>
????<option value="BTS">BTS</option>
???</select>
???</td>
??????? </tr>
??????? <tr height="22">
??????????? <td colspan="2" align="center"><input type="button" value="获取指定对象" onclick="do_check()"></td>
??</tr>
?</table>
</form>
</BODY>
</HTML>
<SCRIPT LANGUAGE="JavaScript">
<!--
function do_check(){
//? getElementById:就是通过ID来取得元素,所以只能访问设置了ID的元素。
//? 方法的返回值能确保为你所需要的对象,因为整个页面中一个对象的ID值是唯一的.
//?var organizationId = document.getElementById("organizationId");
//?alert(organizationId.value);


//? getElementsByName:就是通过NAME来获得元素.
//? 方法的返回值为一个数组,即使在整个页面中只有一个name属性为给定值的对象,它也会以数组的方式返回.
//? 只不过这时的数组长度为一罢了.
//?var organizationId = document.getElementsByName("organizationId");
//?alert(organizationId[0].value);
//?alert(organizationId.length);

//? getElementsByTagName:通过TAGNAME(标签名称)来获得元素,一个DOCUMENT中当然会有相同的标签,
//? 所以这个方法和getElementsByName基本相识也是取得一个数组,只是获取对象的方式上的区别.
//?var inputs = document.getElementsByTagName("input");
//?alert(inputs.length);
//?alert(inputs[0].value);
//?alert(inputs[1].value);
//?alert(inputs[2].value);

//? document.all[]是文档中所有标签组成的一个数组变量,包括了文档对象中所有元素.
//? 一般通过名字去获取指定元素,不过它比getElementsByName要智能一点就是如果符合条件的对象有一个则返回此对象,多个会以数组的形式返回
//?var organizationId = document.all["organizationId"];
//?alert(organizationId[0].value)
//? document.all["organizationId"]
//? document.all.item("organizationId")
}
//-->
</SCRIPT>