浅谈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 相关文章推荐
jquery 子窗口操作父窗口的代码
Sep 21 Javascript
javascript在事件监听方面的兼容性小结
Apr 07 Javascript
js完美的div拖拽实例代码
Jan 22 Javascript
使用正则表达式的格式化与高亮显示json字符串
Dec 03 Javascript
JavaScript中的call方法和apply方法使用对比
Aug 12 Javascript
jQuery复制表单元素附源码分享效果演示
Sep 30 Javascript
浅谈jquery采用attr修改form表单enctype不起作用的问题
Nov 25 Javascript
jQuery实现验证表单密码一致性及正则表达式验证邮箱、手机号的方法
Dec 05 jQuery
vue.js在标签属性中插入变量参数的方法
Mar 06 Javascript
在 Vue 项目中引入 tinymce 富文本编辑器的完整代码
May 04 Javascript
微信小程序实现分享朋友圈的图片功能示例
Jan 18 Javascript
es6数组的flat(),flatMap()函数用法实例分析
Apr 18 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
老机欣赏|中国60年代精品收音机
2021/03/02 无线电
九个你必须知道而且又很好用的php函数和特点
2013/08/08 PHP
PHP pear安装配置教程
2016/05/14 PHP
PHP defined()函数的使用图文详解
2019/07/20 PHP
javascript常用方法汇总
2014/12/02 Javascript
javascript关于运动的各种问题经典总结
2015/04/27 Javascript
JS实现图片的不间断连续滚动的简单实例
2016/06/03 Javascript
EasyUI学习之Combobox下拉列表(1)
2016/12/29 Javascript
ZeroClipboard.js使用一个flash复制多个文本框
2017/06/19 Javascript
jQuery EasyUI开发技巧总结
2017/09/26 jQuery
详解使用vue-cli脚手架初始化Vue项目下的项目结构
2018/03/08 Javascript
更改BootStrap popover的默认样式及popover简单用法
2018/09/13 Javascript
nodejs二进制与Buffer的介绍与使用
2019/07/11 NodeJs
Node.js fs模块(文件模块)创建、删除目录(文件)读取写入文件流的方法
2019/09/03 Javascript
Node.js API详解之 querystring用法实例分析
2020/04/29 Javascript
JS数组转字符串实现方法解析
2020/09/04 Javascript
[05:04]DOTA2上海特级锦标赛主赛事第二日TOP10
2016/03/04 DOTA
python使用邻接矩阵构造图代码示例
2017/11/10 Python
Django中反向生成models.py的实例讲解
2018/05/30 Python
Python之列表的插入&amp;替换修改方法
2018/06/28 Python
python获取磁盘号下盘符步骤详解
2019/06/19 Python
使用python分析统计自己微信朋友的信息
2019/07/19 Python
python实现比对美团接口返回数据和本地mongo数据是否一致示例
2019/08/09 Python
Python字符串大小写转换拼接删除空白
2019/09/19 Python
sklearn-SVC实现与类参数详解
2019/12/10 Python
pytorch三层全连接层实现手写字母识别方式
2020/01/14 Python
利用Python实现自动扫雷小脚本
2020/12/17 Python
以设计师精品品质提供快速时尚:Mostata
2019/05/10 全球购物
医学毕业生自我鉴定
2013/10/30 职场文书
应届大学生自荐书
2014/06/17 职场文书
活动新闻稿范文
2015/07/17 职场文书
任命书格式范文
2015/09/22 职场文书
三严三实·严以律己心得体会
2016/01/13 职场文书
判断Python中的Nonetype类型
2021/05/25 Python
Redis Cluster 集群搭建你会吗
2021/08/04 Redis
基于Python和openCV实现图像的全景拼接详细步骤
2021/10/05 Python