document.getElementsByName

wwq0123 2009-12-10 10:55:12

<input type="checkbox" name="a"/>
<input type="checkbox" id="a" name="b"/>
<input type="checkbox" name="b"/>
<input type="checkbox" name="a"/>

<script type="text/javascript">
function test()
{
var a=document.getElementsByName("a");
alert(a.length);
}
test();
</script>


请问下为什么这样得到数组长度是3,不是2?
...全文
92 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
yixianggao 2009-12-10
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 yan11cn 的回复:]
网上查到:IE不支持getElementsByName。。。
“总结一下标准DOM,访问某一特定元素尽量用标准的getElementById(),访问标签用标准的getElementByTagName(),但IE不支持getElementsByName()”
[/Quote]
纯属瞎掰!!!

刚刚查了 MS 的 JScript 手册,getElementsByName 就是这样滴,原文如下:

When you use the getElementsByName method, all elements in the document that have the specified NAME or ID attribute value are returned.

译文:当你使用 getElementsByName 方法时,会返回当前文档中所有具有指定 NAME 或 ID 的值。

collObjects = document.getElementsByName(sNameValue)

这说明,sNameValue 会自动匹配 NAME 和 ID,JScript 中的 getElementsByName 方法就是这么设计的!!!
游北亮 2009-12-10
  • 打赏
  • 举报
回复
在哪里查的?
你没有实验过吧?
有句话叫:尽信书,不如无书

另外,同佩服楼主的结帖率


[Quote=引用 9 楼 yan11cn 的回复:]
网上查到:IE不支持getElementsByName。。。
“总结一下标准DOM,访问某一特定元素尽量用标准的getElementById(),访问标签用标准的getElementByTagName(),但IE不支持getElementsByName()”
[/Quote]
yan11cn 2009-12-10
  • 打赏
  • 举报
回复
网上查到:IE不支持getElementsByName。。。
“总结一下标准DOM,访问某一特定元素尽量用标准的getElementById(),访问标签用标准的getElementByTagName(),但IE不支持getElementsByName()”
jol_boy 2009-12-10
  • 打赏
  • 举报
回复
理论上是2,IE下是3
yixianggao 2009-12-10
  • 打赏
  • 举报
回复
<input type="checkbox" id="a" name="b"/>
应该是 id 和 name 同时使用时引起的混淆!

另,lz 的 结帖率:105.00% ,真滴很nb
jol_boy 2009-12-10
  • 打赏
  • 举报
回复
IE会把id和name叫a的都搜出来~~
wwq0123 2009-12-10
  • 打赏
  • 举报
回复
谢谢楼上,那就是IE6的bug了。。。
游北亮 2009-12-10
  • 打赏
  • 举报
回复
说错了,IE8也是一样,会取到id=a的对象
但是如果ie8用getElementById,就取不到name=a的对象了。
游北亮 2009-12-10
  • 打赏
  • 举报
回复
另外,这个问题在ie8已经得到修正,在ie8里,长度就是2了
yan11cn 2009-12-10
  • 打赏
  • 举报
回复
我也觉得应该是2
游北亮 2009-12-10
  • 打赏
  • 举报
回复
就是ie把id也当成name处理了呗
yan11cn 2009-12-10
  • 打赏
  • 举报
回复
你们理解错我的意思了 不支持 是指返回的不是这个方法本该返回的name
你们用这个方法的用意不就是那样么

87,921

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧