关于用getElementsByTagName弹出[object HTMLCollection]的问题

xuzhijian17 2012-06-26 09:19:31
<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript">
var a = document.getElementsByTagName('a');
alert(a);
</script>
</head>
<body>
<a href="#"></a>
<a href="#"></a>
<a href="#"></a>
<a href="#"></a>
</body>
</html>

不是应该获取所有a标签的一个列表吗?为什么会弹出object HTMLCollection呢?而且我用alert(a[0])弹出的是undefined?
...全文
415 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
似梦飞花 2012-06-26
  • 打赏
  • 举报
回复
因为当你的var a = document.getElementsByTagName('a');时页面还没加载到那些a标签那里呢 或者可以这样
<script type="text/javascript">
function init(){
var a = document.getElementsByTagName('a');
var b="";
for(var i=0;i<a.length;i++){
b+=a[i].innerHTML;
}
alert(b);
}
window.onload=init;
</script>
001007009 2012-06-26
  • 打赏
  • 举报
回复
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<a href="#">1</a>
<a href="#">2</a>
<a href="#">3</a>
<a href="#">4</a>
<script type="text/javascript">
var a = document.getElementsByTagName('a');
alert(a[0].innerHTML);
</script>
</body>
</html>



script放dom之后,或window.onload里
乌镇程序员 2012-06-26
  • 打赏
  • 举报
回复
代码顺序的问题,JS代码位于目标元素之前,代码被执行时目标元素还没有加载到DOM树中。
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<a href="#">DEMO</a>
<a href="#"></a>
<a href="#"></a>
<a href="#"></a>
<script type="text/javascript">
var a = document.getElementsByTagName('a');
alert(a[0].innerHTML);
</script>
</body>
</html>

87,910

社区成员

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

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