问答详情
源自:3-3 innerHTML 属性

修改了mychar的内容,输出的h2为什么内容也变了?

不是很理解啊,有没有大神解释一下

提问者:慕神7868388 2018-01-29 14:11

个回答

  • qq_佐护法_0
    2018-01-29 15:32:20
    已采纳

    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>innerHTML</title>
    </head>
    <body>
    <h2 id="con">javascript</H2>
    <p> JavaScript是一种基于对象、事件驱动的简单脚本语言,嵌入在HTML文档中,由浏览器负责解释和执行,在网页上产生动态的显示效果并实现与用户交互功能。</p>
    <script type="text/javascript">
      var mychar= document.getElementById("con");      ;
      document.write("原标题:"+mychar.innerHTML+"<br>"); //输出原h2标签内容
      mychar.innerHTML="Hello world!";
      document.write("修改后的标题:"+mychar.innerHTML); //输出修改后h2标签内容
    </script>
    </body>
    </html>
    看第十一行代码实际上是将id为con的标签<h2>取出给mychar,通俗一点就是现在mychar就是h2标签这个object
    然后第十三行将mychar改为hello world,h2标签内的内容也就随之发生变化

  • 聂小虫
    2018-01-29 15:43:59

    看到你的问题,我觉得你一定是学过编程的。这个语言来讲,你传递的是指针,而不是值传递。

  • 慕UI8259679
    2018-01-29 15:36:19

    因为你第14行的代码修改了h2的文字,程序是顺序执行,本来确实是javascript,但是当程序执行到14行时,程序修改了代码,文字也随之改变,最后展现的就是hello world 了

  • Deviliscry
    2018-01-29 15:35:37

    建议你再仔细看看3.1的内容 ,你所用的getElementById()就是获取了h2那个元素(用3.1的话来说就是那个所谓的“盒子”),而你通过mychar.innerHTML来修改了h2这个元素的内容,所以之前显示的h2也改变了。

  • qq_佐护法_0
    2018-01-29 15:33:27

    排版有问题……11行应为12行,13行应为14行