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

一个关于for循环的问题。

一个关于for循环的问题。

卡迪亚兹 2016-02-03 20:40:45
先上代码:<script> window.onload=function () { changestyle() } function changestyle(){ var mystyle = document.getElementsByTagName('a'); for (var i = 0; i < mystyle.length; i++) { document.write(mystyle[i].innerHTML); } } </script> </head> <body> <ul> <li><a href="#">首    页</a></li> <li><a href="#">新闻快讯</a></li> <li><a href="#">产品展示</a></li> <li><a href="#">售后服务</a></li> <li><a href="#">联系我们</a></li> </ul> </body>问题是这样的,我想用一个for循环输出a标签下的内容,预想的效果是这样的:首页 新闻快讯 产品展示 售后服务 联系我们但是我输出了的结果却是:首页想请问这个是哪里出了问题。。。恳请各位看官指导。。谢谢各位
查看完整描述

2 回答

已采纳
?
莲花寺的慧觉

TA贡献1条经验 获得超1个赞

当第一次调用document.write的时候,整个文档被覆盖,并写入了第一个<a>元素里的文本,也就是“首页”;第二次以后,之前引用的另外4个<a>元素就不存在了,故而什么都没发生。

要解决这个问题,就是你在使用document.write之前,用一个变量保存所有的文本,然后一次性输出。

如:

<script>
    window.onload=function () {
        changestyle()
    }
    function changestyle(){
        var mystyle = document.getElementsByTagName('a');
        var text = '';
        for (var i = 0; i < mystyle.length; i++) {
            text = text + '<div>' + mystyle[i].innerHTML + '</div>'
        }
       document.write(text);
    }
 
</script>


查看完整回答
1 反对 回复 2016-02-03
  • 2 回答
  • 0 关注
  • 1474 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信