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

求解答,为什么编译结果是helloworld在第一行,就是输出修改后的在第一行?

求解答,为什么编译结果是helloworld在第一行,就是输出修改后的在第一行?

qq_舞魅_03747602 2016-09-06 21:09:36
<!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> hello</p><script type="text/javascript">  var mychar=document.getElementById("con");          document.write("原标题:"+mychar.innerHTML+"<br>"); //输出原h2标签内容  mychar.innerHTML="helloworld";  document.write("修改后的标题:"+mychar.innerHTML); //输出修改后h2标签内容</script></body></html>
查看完整描述

2 回答

已采纳
?
stone310

TA贡献361条经验 获得超191个赞

说下输出步骤吧,从上往下执行,位置排序分别是:

首先是1、<h2 id="con">javascript</H2>;

其次是2、<p> hello</p>;

再次是3、document.write("原标题:"+mychar.innerHTML+"<br>"); (这里document.write 处于页面载入状态,因此是增加,而不是覆盖),这里mychar.innerHTML还是“javascript“

再次是4、mychar.innerHTML="helloworld";,这一条一旦执行,就会覆盖第一条<h2>标签的内容;

再次是5、document.write("修改后的标题:"+mychar.innerHTML); (同理,document.write增加不覆盖),由于第4步,覆盖了mychar.innerHTML,因此这里是"helloworld"

执行完毕,所以现在界面显示:

1、<h2 id="con">helloworld</H2>;(被上面第四条更改了内容)

2、<p> hello</p>;

3、document.write("原标题:"+mychar.innerHTML+"<br>");(显示更改前的内容,即javascript)

4、document.write("修改后的标题:"+mychar.innerHTML); (显示更改后的内容,即helloworld)

查看完整回答
1 反对 回复 2016-09-07
?
霜花似雪

TA贡献36条经验 获得超19个赞

这个与标签属性的优先级有关,优先级高的,最先调用,也就最先输出。

查看完整回答
反对 回复 2016-09-06
  • 2 回答
  • 0 关注
  • 1273 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信