浅谈Javascript 执行顺序


Posted in Javascript onDecember 18, 2013

Javascript是执行顺序是至上而下的,除非你特别说明, Javascript代码不会等到页面加载完毕后才执行。比如一个网页里含有以下HTML代码:

<div id="ele">welcome to 3water.com</div>

如果你在这行HTML代码前,加入如下Javascript代码:
<script type="text/javascript">
  document.getElementById('ele').innerHTML= 'welcome to my blog';
</script>

运行该页面,你会得到这样的错误信息:“document.getElementById(‘ele') is null。”原因是,当上面的javascript运行时,页面上还没有ID为‘ele'的DOM元素。
解决办法有两种:
1. 把javascript代码放在HTML代码之后:
 <div id="ele">welcome to 3water.com</div>
<script type="text/javascript">
  document.getElementById('ele').innerHTML='welcome to my blog';
</script>

2. 等到在网页加载完毕后,运行该javascript代码。你可以使用传统的解决办法(load):首先加HTML的body加入“<body load="load()”>,”然后在load()函数里调用上述javascript代码。这里要着重介绍的是用jQuery来实现:
<script>
$(document).ready(function(){
   document.getElementById('ele').innerHTML= 'welcome to my blog';
});
</script>
//当然,既然用到了jQuery,更简单的写法是:
<script>
$(document).ready(function(){
   $('#ele').html('welcome to my blog'); //这里也可用.text()方法
});
</script>

你可以把上述jQuery代码放在页面的任何位置,它总是等到页面加载完毕后才执行。
Javascript 相关文章推荐
JavaScript实现Java中StringBuffer的方法
Feb 09 Javascript
详解JavaScript的AngularJS框架中的表达式与指令
Mar 05 Javascript
JS工作中的小贴士之”闭包“与事件委托的”阻止冒泡“
Jun 16 Javascript
总结javascript中的六种迭代器
Aug 16 Javascript
微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决
Sep 09 Javascript
详解JavaScript 中getElementsByName在IE中的注意事项
Feb 21 Javascript
javascript 玩转Date对象(实例讲解)
Jul 11 Javascript
zTree异步加载展开第一级节点的实现方法
Sep 05 Javascript
vue2中的keep-alive使用总结及注意事项
Dec 21 Javascript
Vue2.0 实现单选互斥的方法
Apr 13 Javascript
vue.js轮播图组件使用方法详解
Jul 03 Javascript
vue 项目打包时样式及背景图片路径找不到的解决方式
Nov 12 Javascript
Javascript浅谈之引用类型
Dec 18 #Javascript
浅析JQuery UI Dialog的样式设置问题
Dec 18 #Javascript
Jquery ajaxStart()与ajaxStop()方法(实例讲解)
Dec 18 #Javascript
jQuery.event兼容各浏览器的event详细解析
Dec 18 #Javascript
jquery中event对象属性与方法小结
Dec 18 #Javascript
深入理解jQuery中live与bind方法的区别
Dec 18 #Javascript
解析JSON对象与字符串之间的相互转换
Dec 18 #Javascript
You might like
PHP操作xml代码
2010/06/17 PHP
浅析HTTP消息头网页缓存控制以及header常用指令介绍
2013/06/28 PHP
php实现Mysql简易操作类
2015/10/11 PHP
全面解读PHP的Yii框架中的日志功能
2016/03/17 PHP
Thinkphp连表查询及数据导出方法示例
2016/10/15 PHP
PHP使用zlib扩展实现GZIP压缩输出的方法详解
2018/04/09 PHP
PHP类的自动加载机制实现方法分析
2019/01/10 PHP
cookie丢失问题(认证失效) Authentication (用户验证信息)也会丢失
2009/06/04 Javascript
js预载入和JavaScript Image()对象使用介绍
2011/08/28 Javascript
javascript的offset、client、scroll使用方法详解
2012/12/25 Javascript
jQuery如何防止这种冒泡事件发生
2015/02/27 Javascript
JSON+Jquery省市区三级联动
2016/01/13 Javascript
AngularJS 2.0新特性有哪些
2016/02/18 Javascript
Angularjs实现mvvm式的选项卡示例代码
2016/09/08 Javascript
原生javascript实现的ajax异步封装功能示例
2016/11/03 Javascript
纯JS实现图片验证码功能并兼容IE6-8(推荐)
2017/04/19 Javascript
微信小程序页面缩放式侧滑效果的实现代码
2018/11/15 Javascript
解决layui表格内文本超出隐藏的问题
2019/09/12 Javascript
Jquery Fade用法详解
2020/11/06 jQuery
[01:46]TI4西雅图DOTA2前线报道 中国选手抱团调时差
2014/07/08 DOTA
基于进程内通讯的python聊天室实现方法
2015/06/28 Python
Python实现购物车功能的方法分析
2017/11/10 Python
Flask模板引擎之Jinja2语法介绍
2019/06/26 Python
pytorch实现线性拟合方式
2020/01/15 Python
python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例
2020/03/01 Python
selenium+python配置chrome浏览器的选项的实现
2020/03/18 Python
Python如何用wx模块创建文本编辑器
2020/06/07 Python
Python 里最强的地图绘制神器
2021/03/01 Python
青年文明号事迹材料
2014/01/18 职场文书
最美孝心少年事迹材料
2014/08/15 职场文书
甘南现象心得体会
2014/09/11 职场文书
男方家长婚礼答谢词
2015/09/29 职场文书
2016创先争优活动党员公开承诺书
2016/03/24 职场文书
Nginx 负载均衡是什么以及该如何配置
2021/03/31 Servers
python中pandas对多列进行分组统计的实现
2021/06/18 Python
Spring Boot项目传参校验的最佳实践指南
2022/04/05 Java/Android