关于本节所给例子的有问题

来源:3-3 innerHTML 属性

TiKi

2015-01-26 10:30

在对P标签重新赋值后,第一次输出的怎么还是原始标签内容呢?而P标签的内容输出时都已经变成新的了。运行的时候怎样的一种顺序呢?难道不是按顺序正常走的么?谁能回答下我的问题?多谢。

写回答 关注

5回答

  • 小于飞飞
    2015-01-26 10:53:49
    已采纳
      var mychar=document.getElementById("con");
      document.write("原标题:"+mychar.innerHTML+"<br>"); //输出原h2标签内容
      mychar.innerHTML="Hello world";
      document.write("修改后的标题:"+mychar.innerHTML); //输出修改后h2标签内容

    结果:

    原标题:javascript
    修改后的标题:Hello world

    js进行顺序是从上向下运行。所以第一次输出是原来标题,当改变了标题后,在输出,就是新的标题了。


    不知道你的问题是不是这样,如不是把代码快照传上来。


    qq_小茶_...

    我知道当改变了标题后,在输出,就是新的标题了。但是我不明白的是,你标题变化了,那第一次的 document.write("原标题:"+mychar.innerHTML+"<br>"); 为什么不输出改变之后的结果,而是仍旧执行未变化前的结果?理解我是理解不了了,这个是要硬记吗?

    2015-04-05 17:25:59

    共 2 条回复 >

  • 小于飞飞
    2015-02-27 17:06:03

    mychar.innerHTML 给指定的元素写入HTML代码 , 使用前这个指定元素保存原始内容,使用后,就相当于改变了内容。

  • yoyomisu
    2015-02-27 16:25:18

    我也有同样的问题,mychar.innerHTML这个语句是不是可以理解成 它在没有被赋予新的内容前代表的是P标签的原始内容,赋予新的内容后,代表的是P标签的新内容?

  • 小于飞飞
    2015-01-30 09:30:16
    var mychar=document.getElementById("con");
      document.write("原标题:"+mychar.innerHTML+"<br>"); //输出原h2标签内容

    执行后,目前没有改变可以输出是原标题。

    mychar.innerHTML="Hello world"; //关键是这句,输出原始标题后,才改变的p标签的标题,所以下面在输出时,就是新的标题了。
      document.write("修改后的标题:"+mychar.innerHTML); //输出修改后h2标签内容


  • TiKi
    2015-01-26 21:04:22

    谢谢。你说的这个地方我明白。让我迷糊的是,加上P标签的运行顺序。既然输出的时候P标签是新内容,为什么document.write("原标题:"+mychar.innerHTML+"<br>"); //输出原h2标签内容//这里输出的还是原内容呢,不是P标签内容已经被替换成新的了么


JavaScript入门篇

JavaScript做为一名Web工程师的必备技术,本教程让您快速入门

739818 学习 · 9566 问题

查看课程

相似问题