浅谈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 相关文章推荐
Kibo 用于处理键盘事件的Javascript工具库
Oct 28 Javascript
jquery的clone方法应用于textarea和select的bug修复
Jun 26 Javascript
js和jquery中循环的退出和继续学习记录
Sep 06 Javascript
使用纯javascript实现放大镜效果
Mar 18 Javascript
Bootstrap树形控件使用方法详解
Jan 27 Javascript
微信小程序  网络请求API详解
Oct 25 Javascript
深入理解javascript函数参数与闭包
Dec 12 Javascript
jQuery插件jqGrid动态获取列和列字段的方法
Mar 03 Javascript
js原生Ajax的封装和原理详解
Mar 11 Javascript
十大热门的JavaScript框架和库
Mar 21 Javascript
[js高手之路]图解javascript的原型(prototype)对象,原型链实例
Aug 28 Javascript
微信小程序实现选项卡效果
Nov 06 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
再说下636单管机
2021/03/02 无线电
简单实现限定phpmyadmin访问ip的方法
2013/03/05 PHP
ThinkPHP3.1新特性之对Ajax的支持更加完善
2014/06/19 PHP
php+jquery+html实现点击不刷新加载更多的实例代码
2016/08/12 PHP
PHP实现的最大正向匹配算法示例
2017/12/19 PHP
isArray()函数(JavaScript中对象类型判断的几种方法)
2009/11/26 Javascript
jQuery的3种请求方式$.post,$.get,$.getJSON
2014/03/28 Javascript
使用JS画图之点、线、面
2015/01/12 Javascript
jquery 设置style:display的方法
2015/01/29 Javascript
JavaScript使用cookie实现记住账号密码功能
2015/04/27 Javascript
AngularJs ng-route路由详解及实例代码
2016/09/14 Javascript
原生js实现商品放大镜效果
2017/01/12 Javascript
jQuery滑动到底部加载下一页数据的实例代码
2017/05/22 jQuery
VueJs使用Amaze ui调整列表和内容页面
2017/11/30 Javascript
Mac下通过brew安装指定版本的nodejs教程
2018/05/17 NodeJs
JQueryDOM之样式操作
2019/03/27 jQuery
vue模式history下在iis中配置流程
2019/04/17 Javascript
vue实现路由不变的情况下,刷新页面操作示例
2020/02/02 Javascript
解决vue自定义指令导致的内存泄漏问题
2020/08/04 Javascript
Javascript柯里化实现原理及作用解析
2020/10/22 Javascript
vue实现树状表格效果
2020/12/29 Vue.js
[04:27]DOTA2官方论坛水友赛集锦
2013/09/16 DOTA
python cx_Oracle的基础使用方法(连接和增删改查)
2017/11/19 Python
Python利用字典将两个通讯录文本合并为一个文本实例
2018/01/16 Python
Python实现的统计文章单词次数功能示例
2019/07/08 Python
python如何将多个PDF进行合并
2019/08/13 Python
Python调用Windows API函数编写录音机和音乐播放器功能
2020/01/05 Python
简单了解Python write writelines区别
2020/02/27 Python
Python实现ElGamal加密算法的示例代码
2020/06/19 Python
Python3爬虫中pyspider的安装步骤
2020/07/29 Python
基于python实现操作redis及消息队列
2020/08/27 Python
python opencv角点检测连线功能的实现代码
2020/11/24 Python
Vrbo英国:预订度假屋
2020/08/19 全球购物
Java提供了哪些企业应用编程接口
2015/02/13 面试题
同学会邀请函模板
2015/01/30 职场文书
检讨书格式
2015/05/07 职场文书