浅谈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 相关文章推荐
淘宝搜索框效果实现分析
Mar 05 Javascript
js弹出的对话窗口永远保持居中显示
Dec 15 Javascript
原生js实现shift/ctrl/alt按键的获取
Apr 08 Javascript
Ext4.2的Ext.grid.plugin.RowExpander无法触发事件解决办法
Aug 15 Javascript
js实现Form栏显示全格式时间时钟效果代码
Aug 19 Javascript
jquery实现全选、反选、获得所有选中的checkbox
Sep 13 Javascript
JS简单实现DIV相对于浏览器固定位置不变的方法
Jun 17 Javascript
vue-router:嵌套路由的使用方法
Feb 21 Javascript
vue router使用query和params传参的使用和区别
Nov 13 Javascript
详解在React.js中使用PureComponent的重要性和使用方式
Jul 10 Javascript
详解Vue.js和layui日期控件冲突问题解决办法
Jul 25 Javascript
vue实现一个获取按键展示快捷键效果的Input组件
Jan 13 Vue.js
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循环输出数据库内容的代码
2008/05/24 PHP
PHP面向对象程序设计中的self、static、parent关键字用法分析
2019/08/14 PHP
基于jQuery的动态表格插件
2011/03/28 Javascript
Bootstrap表单组件教程详解
2016/04/26 Javascript
jquery模拟多级复选框效果的简单实例
2016/06/08 Javascript
JS 实现Base64编码与解码实例详解
2016/11/07 Javascript
javascript实现无法关闭的弹框
2016/11/27 Javascript
javascript 数组去重复(在线去重工具)
2016/12/17 Javascript
js实现图片360度旋转
2017/01/22 Javascript
完美解决jQuery的hover事件在IE中不停闪动的问题
2017/02/10 Javascript
详解Vue中过度动画效果应用
2017/05/25 Javascript
对Vue- 动态元素属性及v-bind和v-model的区别详解
2018/08/27 Javascript
AngularJs返回前一页面时刷新一次前面页面的方法
2018/10/09 Javascript
JavaScript中的执行环境和作用域链
2020/09/04 Javascript
[02:46]2014DOTA2国际邀请赛 选手为你解读比赛MVP充满梦想
2014/07/09 DOTA
python的绘图工具matplotlib使用实例
2014/07/03 Python
详解Python中DOM方法的动态性
2015/04/11 Python
Python遍历指定文件及文件夹的方法
2015/05/09 Python
python实现三维拟合的方法
2018/12/29 Python
使用python list 查找所有匹配元素的位置实例
2019/06/11 Python
对Python中class和instance以及self的用法详解
2019/06/26 Python
Python FTP文件定时自动下载实现过程解析
2019/11/12 Python
tensorflow保持每次训练结果一致的简单实现
2020/02/17 Python
解决python打开https出现certificate verify failed的问题
2020/09/03 Python
windows+vscode安装paddleOCR运行环境的步骤
2020/11/11 Python
django项目中使用云片网发送短信验证码的实现
2021/01/19 Python
英国最大的百货公司:Harrods
2016/08/18 全球购物
美国在线健康和美容市场:Pharmapacks
2018/12/05 全球购物
美国专业汽车音响和移动电子产品零售商:Car Toys
2019/05/13 全球购物
计算机毕业大学生推荐信
2013/12/01 职场文书
超市采购员岗位职责
2015/04/07 职场文书
通知范文怎么写
2015/04/16 职场文书
导游词之宿迁乾隆行宫
2019/10/15 职场文书
golang如何去除多余空白字符(含制表符)
2021/04/25 Golang
PHP面试题 wakeup魔法 Ezpop pop序列化与反序列化
2022/04/11 PHP
Pillow图像处理库安装及使用
2022/04/12 Python