<!DOCTYPE html> <html> <head> <title>innerHTML</title> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> </head> <body> <p id=con>Hello World</p> <script type="text/javascript"> var mycon=document.getElementById("con"); document.write("p标签原始内容:"+mycon.innerHTML+"<br>"); mycon.innerHTML="NEW text!"; document.write("p标签修改内容;"+mycon.innerHTML); </script> </body> </html>
这短代码输出:
NEW text!
p标签原始内容:Hello World
p标签修改内容;NEW text!
为什么“NEW text”会先输出?这种顺序是怎么理解的 谁邦我讲解下,谢谢
看了一堆还是不懂
上面的说的都对,但还有一点 <p id=con>Hello World</p> id="con" 加引号,单双都行.
其实他是先显示Hello World,然后在一瞬间覆盖成了NEW text!,你可以把它的后面的注释掉就可以看到。
页面加载的时候你的js代码就已经执行完了,所以文本显示自然是你已经修改过的。
你可以给修改内容的js代码放到一个click函数中,点击文本去触发,这样就会看到文本的修改
浏览器跑JS代码运行太快,人眼是看不出变化的
应该先显示修改的内容在显示以前的内容吧
Hello World修改成NEW text!后,当然浏览器显示也会修改
初始显示是Hello World
修改后显示就是NEW text!
document只是告诉你它的变化
这段代码本来应该依次输出 Hello world //<p>中文本
p标签原始内容:Hello World
p标签修改内容;NEW text!
但是因为后来 mycon.innerHTML="NEW text!";把<p>中文本改了
所以浏览器显示出来的结果就是
NEW text!
p标签原始内容:Hello World
p标签修改内容;NEW text!
同问!