为了账号安全,请及时绑定邮箱和手机立即绑定

数组遍历输出问题?

var nodes = document.getElementsByTagName("h1");  for(var i=0;i<nodes.length;i++)  {      document.write(nodes[i].innerHTML);  } 为什么用document.write遍历不出数组,只有一个?

正在回答

2 回答

被覆盖掉了吧!你看看是不是输出的是最后一个,是的话,应该是后面输出的内容把前面输出的内容的覆盖了。

0 回复 有任何疑惑可以回复我~

这段函数是没有问题的,我觉得可能两种情况产生这个原因:

  1. <h1> 在 函数后面,在没加载<h1>的情况下,调用h1出现错误(根据题目,几率较小)

  2. 调用了window.onload 来调用函数,虽然调用window.onload是个不错的选择,但是在这里并不合适,因为这里有document.write,如果没有调用window.onload且把h1放在前面,那么在执行document.write时函数会默认写在当前页面(因为页面未加载完)。但是调用了window.onload(页面已加载完),在执行document.write时,函数会自动启用另一页来输出,所以body,head重新刷新,所以在输出一个后就输出不了(因为后面的被刷没了,调用也没有用了)。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

数组遍历输出问题?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信