后来查了以后才知道,getElementsByName在IE中有很多限制。。。
document.getElementsByName('someName') 返回一个节点列表(数组)
document.getElementByIdx_x('id') 返回一个节点或者null
注意在IE下有些节点是没有 name 属性的,就是用document.getElementsByName获取不到的
只有下面的tag有name属性
A, APPLET, attribute, BUTTON, EMBED, FORM, IMG, INPUT type=button,
INPUT type=checkbox, INPUT type=file, INPUT type=hidden, INPUT
type=image, INPUT type=password, INPUT type=radio, INPUT
type=reset, INPUT type=submit, INPUT type=text, LINK, MAP, OBJECT,
RT, RUBY, SELECT, TEXTAREA
其他都没有,比如 div
例子
<body>
<input name="a" type="text"
/><input name="a" type="text"
/><input name="a" type="text"
/>
<div
name="b"></div><textarea
name="b"></textarea>
<script language="JavaScript">
<!--
alert('name为a的节点有'+document.getElementsByName('a').length+'个');
alert('name为b的节点有'+document.getElementsByName('b').length+'个');
//-->
</script>
</body>
在IE下 会弹出 a有3个,b有1个
而FF下 会弹出 a有3个,b有2个