先上代码:<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>
添加回答
举报
0/150
提交
取消