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

為什麼用 innerHTML 出來的字的大小會不同?

<body>
<h2 id="con">javascript</h2>
<script type="text/javascript">
  var mychar=document.getElementById("con");
  mychar.innerHTML="<h2>javascript</h2>";
</script>
</body>

為什麼 mychar.innerHTML="<h2>javascript</h2>"; 出來的 javascript 的大小,會比原本的 <h2 id="con">javascript</h2> 出來的 javascript 還要大?

提问者:sz_yeefun 2016-08-29 16:43

个回答

  • 慕粉3898175
    2016-08-29 17:55:57
    已采纳

    刚又看了下,还真是的。但这是浏览器对h2初始大小的显示问题,套了两层h2和一层显示不一样,跟js代码没有关系。你把h2的style字体大小定义一下,就不会变化了。

  • qq_就是小傲娇_03840354
    2016-09-10 21:27:13

    <body>

    <h2 id="con">javascript</h2>

    <script type="text/javascript">

      var mychar=document.getElementById("con");

      mychar.innerHTML="javascript";

    </script>

    </body>

    改成这样应该就一样了,h2是标题,可能是有自动设置的样式吧。

  • 慕粉3898175
    2016-08-29 17:57:52

    你可以试试把代码另存到本地一个html页面

    <style type="text/css">

    h2{font-size:18px;}

    </style>

    <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="<h2>hello world !</h2>";

      document.write("修改后的标题:"+mychar.innerHTML); //输出修改后h2标签内容

    </script>


  • 慕粉3898175
    2016-08-29 17:12:38

    你这样修改后就变成内容实际就变成<h2 id="con"><h2>javascript</h2></h2>了,
    右侧展示区最上的标题大小应该不会变化。