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

来源:3-3 innerHTML 属性

慕神7868388

2018-01-29 14:11

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

写回答 关注

5回答

  • 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标签内的内容也就随之发生变化

    慕神7868...

    非常感谢!

    2018-01-29 19:38:58

    共 1 条回复 >

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

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

    qq_佐护法...

    看了你的回答感觉其实提问者应该采纳这个,java中虽然有指针但是并没有作为一个概念来讲,提问者好像是个初学者所以我尽量用通俗的话来解释了

    2018-01-30 00:05:50

    共 1 条回复 >

  • 慕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行

JavaScript入门篇

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

739816 学习 · 9566 问题

查看课程

相似问题