为什么这么写Javascript没效果<!DOCTYPE HTML><html><head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <title>innerHTML</title> <script type="text/javascript"> var mychar=document.getElementById("con"); document.write("原标题:"+mychar.innerHTML+"<br>"); mychar.innerHTML="Hello world"; document.write("修改后的标题:"+mychar.innerHTML); </script></head><body> <h2 id="con">javascript</h2> <p>哈撒艰苦大会是单卡寄售点卡接撒活动会计师大会开始觉得很</p></body></html>
4 回答
已采纳
心有猛虎_细嗅蔷薇
TA贡献119条经验 获得超250个赞
效果图:
把<script type="text/javascript">
包含在<body>里面
<!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>哈撒艰苦大会是单卡寄售点卡接撒活动会计师大会开始觉得很</p> <script type="text/javascript"> var mychar=document.getElementById("con"); document.write("原标题:"+mychar.innerHTML+"<br>"); mychar.innerHTML="Hello world"; //修改P元素内容 document.write("修改后的标题:"+mychar.innerHTML); </script> </body> </html>
问题分析的关键点:<script>标签放在那里最合适:
javascript是顺序执行的,放在head里,如果javascript代码使用了body里的元素,如
document.getElementById("con");因为body还没载入,所以访问不到,就会出错,没有效果。
建议:最好把<script>标签放在HTML文档的最后,这样能使浏览器更快地加载页面。
peterJS
TA贡献6条经验 获得超1个赞
两个关键点,第一个浏览器执行代码的顺序,是从上到下依次执行的,所以你把script标签放在head标签里面是获取不到元素的,第二个就是通过一些标签属性or事件来控制js代码的执行,如原生中的onload,jq中的ready等,多写几次就明白了,加油吧!
添加回答
举报
0/150
提交
取消