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

為什麼用 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 還要大?

正在回答

4 回答

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

1 回复 有任何疑惑可以回复我~
#1

sz_yeefun 提问者

真的欸! 但如果是單純寫 <h2 id="con"><h2>javascript</h2></h2>, javascript 並不會變得更大,為什麼?
2016-08-29 回复 有任何疑惑可以回复我~
#2

慕粉3898175 回复 sz_yeefun 提问者

单纯的这样写好像浏览器并不会解析成嵌套的,用开发者工具看下,是解析成<h2 id="con"></h2><h2>javascript</h2>了。
2016-08-30 回复 有任何疑惑可以回复我~

<body>

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

<script type="text/javascript">

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

  mychar.innerHTML="javascript";

</script>

</body>

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

0 回复 有任何疑惑可以回复我~

你可以试试把代码另存到本地一个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>


1 回复 有任何疑惑可以回复我~
你这样修改后就变成内容实际就变成<h2 id="con"><h2>javascript</h2></h2>了,
右侧展示区最上的标题大小应该不会变化。


1 回复 有任何疑惑可以回复我~
#1

sz_yeefun 提问者

你可以試試看,用 mychar.innerHTML="<h2>javascript</h2>"; 去覆蓋原本的 javascript ,真的會變大。
2016-08-29 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信