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

为什么原生的js我这样子写并输出没效果呢?求解释

 <!-- 使用JS原生语法 -->

    <script type="text/javascript">

       

            // 通过原生JS语法获取id为imooc1的元素p

var p = document.getElementById('imooc1');

            // 将元素p在html中内容改变

p.innerHTML = 'P1:您好!通过慕课网学习jQuery才是最佳的途径';

            // 将元素p的内容颜色改为红色

p.style.color = 'red';

    document.write(p.innerHTML);

    </script>


正在回答

2 回答

因为JavaScript解析器 解析代码从上往下执行   因为你这个<script>代码先执行了   下面的代码没有执行  就是没有找到dom中这个p对象  它怎么会执行呢? (就是没有p这个时候还没有加载出来 );window.onload的意思就是等文档加载完成后再执行<script>代码   这个就是        但是去掉了这个我用的是document.write();输出为什么也不行?的原因

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

suBJuly 提问者

OK ,懂了。那如果我把这些代码放在P下面那就是可以执行咯?
2017-05-05 回复 有任何疑惑可以回复我~
#2

慕村1994845 回复 suBJuly 提问者

正常情况下,代码解析是从上到下的,所以,要注意顺序;像是js加了window.onload;jQuery加$(document).ready(),就可以不用在意顺序了,应该是这样
2017-06-16 回复 有任何疑惑可以回复我~

加上 window.onload=function(){


}

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

suBJuly 提问者

我知道的加上可以显示。但是去掉了这个我用的是document.write();输出为什么也不行?
2017-05-04 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么原生的js我这样子写并输出没效果呢?求解释

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