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

对document.write()一些很奇怪的地方

对document.write()一些很奇怪的地方

我要冲钱 2016-12-05 13:09:41
之前问过类似问题,然而代码测试效果还是没达到预期的效果。具体是这样的。首先这是我有疑问的代码图:结果:上一段的“怎么输出了两次”很好理解,但下面的文本却输出了两次。本来,对于innerHTML的理解是提取对象的文本,但我之前问过类似问题,得到的回答是:就是说document.getElementByID("con").innerHTML除了提取我第一次写入的文本外,还会再执行一次写入文本指令,所以就出现两次,这样解释可以,然后我试下这样测试:就是把第一次输出文本注释掉,然后:就是一片空白,这就奇怪了,就算div内没有文本,但不是说会另外执行其内的代码吗?按理应出现一个“为什么会执行两次”啊再看下其他前辈的回答道理还是差不多,求解。
查看完整描述

1 回答

已采纳
?
stone310

TA贡献361条经验 获得超191个赞

说的很清楚了

script里面的a开始执行一次,document.getElementByID("con").innerHTML这个相当于再执行一次script标签里面的内容,最后外面的document.write()再次执行script里面的内容;就是3次;

如果注释掉,script里面就没有东西显示,document.getElementByID("con").innerHTML这个相当于再执行一次script标签里面的内容,还是没有东西,最后外面的document.write()再次执行script里面的内容;还是没东西,就一篇空白

查看完整回答
2 反对 回复 2016-12-05
  • 我要冲钱
    我要冲钱
    看来我还是没表达清楚啊,现在,你觉得我对innerHTML的理解正确吗?就是提取对象内的文本内容。还有就是document.getElementById()不但会锁定目标(id),还会执行目标内的函数???
  • 我要冲钱
    我要冲钱
    大神,看来我是对document.getElementById()这个方法有点模糊不清,你能帮我解释下吗,例如document.getElementById("con").style.color="yellow"的意思把div的字体颜色修改成yellow吗?
  • 我要冲钱
    我要冲钱
    还有就是innerHTML获得的文本会的样式吗?我刚刚试下document.getElementById("con").style.color="yellow"字体的确变成了黄色,然后我document.write(document.getElementById("con").style.color="yellow"),发现输出的字体却没有黄色了
点击展开后面6
  • 1 回答
  • 0 关注
  • 1625 浏览
慕课专栏
更多

添加回答

举报

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