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

为什么我把js放在head部分,可以显示出“hello”,却显示不出第一段第二段文字的效果,如图

5756a9b60001c69404470229.jpg

5756a9b600018c2a05000435.jpg

5756a9b70001eea405000379.jpg

5756a9b9000179e705000239.jpg

放在前面,显示不出格式效果是为什么???

正在回答

5 回答

放在头部的情况下,body还没执行呢,没有生成p1和p2,所以对两个不存在的东西加效果没用的,等到了body执行完,生成p1和p2了,但放在头部的script已执行完,所以当然p1和p2没有效果了;放在body的情况下,如果你没把脚本放在p1和p2后边,同样是没用的,还是前面的道理。记住!html按顺序执行

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

30岁努力转行 提问者

非常感谢!
2016-06-11 回复 有任何疑惑可以回复我~

你的JS运行的时候你的页面还没有加载完成,所以你的JS代码找不到你的页面元素,byIdx寻找元素,需要先存在元素才能找到

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

这种涉及全局的代码不建议放在head里面,head里的代码是调用时才执行;从样例看getElementById页面加载时就执行了,但是后面.style没执行

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

Soul_xy

搞错了,getElement就没输出东西,下面两行诗HTML代码所以没有style
2016-06-09 回复 有任何疑惑可以回复我~

我的理解是:你如果放在head里面,会在页面进行初始化的时候加载,那时候还没有加载p;

放在</body>前面,那时候<p>已经加载完毕了,就有效果了

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

https://www.zhihu.com/question/20027966,看看这个

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

举报

0/150
提交
取消

为什么我把js放在head部分,可以显示出“hello”,却显示不出第一段第二段文字的效果,如图

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