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

javascript

javascript

qq_禁灭生_03414590 2017-01-11 10:31:10
为什么这么写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个赞

效果图://img1.sycdn.imooc.com//58759dc200019a1a05140210.jpg


把<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文档的最后,这样能使浏览器更快地加载页面。


查看完整回答
6 反对 回复 2017-01-11
?
peterJS

TA贡献6条经验 获得超1个赞

两个关键点,第一个浏览器执行代码的顺序,是从上到下依次执行的,所以你把script标签放在head标签里面是获取不到元素的,第二个就是通过一些标签属性or事件来控制js代码的执行,如原生中的onload,jq中的ready等,多写几次就明白了,加油吧!
查看完整回答
反对 回复 2017-01-11
?
路人丶丨

TA贡献115条经验 获得超45个赞

楼上都对,建议看看加载顺序。

查看完整回答
反对 回复 2017-01-11
?
蜂之谷

TA贡献564条经验 获得超863个赞

把script放到 body结束之后

查看完整回答
反对 回复 2017-01-11
  • 4 回答
  • 2 关注
  • 3264 浏览
慕课专栏
更多

添加回答

举报

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