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

为什么div内的文本内容会输出了两次?

为什么div内的文本内容会输出了两次?

我要冲钱 2016-12-03 00:32:42
<!DOCTYPE  HTML> <html > <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>流程控制语句</title> </head> <body> <div id="con"> <script type="text/javascript">  var A=[      ['小A','女','大一',21],      ['小B','男','大三',23],      ['小C','男','大四',24],      ['小D','女','大一',21],      ['小E','女','大四',22],      ['小F','男','大一',21],      ['小G','女','大二',22],      ['小H','女','大三',20],      ['小I','女','大一',20],      ['小J','男','大三',20]     ];    //将以上数组通过join()方法全部转换为字符串并输出  for(var i=0;i<A.length;i++){     var B=A[i].join("-") document.write(B) } </script> </div> <script type="text/javascript"> //提取上面的文本内容并输出 document.write(document.getElementById("con").innerHTML) </script> </body> </html>结果
查看完整描述

3 回答

已采纳
?
按照自己的节奏前行

TA贡献90条经验 获得超70个赞

document.getElementById("con").innerHTML,你的这一块拿的是id=con的全部内容,包括你自己写的js代码块,因此,在这里又执行了一边你写的js代码加上最开始执行js生成的字符串,就成了两边,你拿到的innerHTML

实际上是

<script type="text/javascript">

 var A=[

     ['小A','女','大一',21],

     ['小B','男','大三',23],

     ['小C','男','大四',24],

     ['小D','女','大一',21],

     ['小E','女','大四',22],

     ['小F','男','大一',21],

     ['小G','女','大二',22],

     ['小H','女','大三',20],

     ['小I','女','大一',20],

     ['小J','男','大三',20]

    ];

   //将以上数组通过join()方法全部转换为字符串并输出 

for(var i=0;i<A.length;i++){    

var B=A[i].join("-")

document.write(B)

}

</script>小明.....

</div>


查看完整回答
2 反对 回复 2016-12-03
?
猎豹012

TA贡献13条经验 获得超3个赞

你仔细看文本内容其实输出了三次,浏览器是自上向下解释标签的,当遍历完后页面上已经输出一边了,当你再document.write(document.getElementById("con").innerHTML)时,有两步操作:1,显示第一次内容,2,jsfor循环又执行一次,共三次

查看完整回答
反对 回复 2016-12-03
  • 我要冲钱
    我要冲钱
    document.write(document.getElementById("con").innerHTML)会再次执行JS?innerHTML不是提取文本的意思吗?
?
迁就LOSE

TA贡献29条经验 获得超34个赞

write() 方法可向文档写入 HTML 表达式或 JavaScript 代码。你执行了2次,所以肯定有两次啊。
查看完整回答
反对 回复 2016-12-03
  • 3 回答
  • 0 关注
  • 1834 浏览
慕课专栏
更多

添加回答

举报

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