现在的位置: 首页 > 综合 > 正文

getElementByName在IE下的限制

2014年10月12日 ⁄ 综合 ⁄ 共 864字 ⁄ 字号 评论关闭
今天整段js,就是getElementsByName在FF中没问题,但是在IE中总是提示undefined。
后来查了以后才知道,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个

抱歉!评论已关闭.