浅谈Javascript 执行顺序
Javascript是执行顺序是至上而下的,除非你特别说明, Javascript代码不会等到页面加载完毕后才执行。比如一个网页里含有以下HTML代码:
代码如下:
<div id="ele">welcome to www.jb51.net</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 www.jb51.net</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.html深度分析
我们先来简单回顾下HTML源代码(test2.htm): 复制代码 代码如下: <html> <head> <title></title> <script src="js/jquery-1.4.4.js" type="text/javascript"></script> <script> $(function(){ $('#container').html('<script s
-
javascript的解析执行顺序在各个浏览器中的不同
简介 javascript是一种解释型语言,它的执行是自上而下的.但是各浏览器对于[自上而下]的理解是有细微差别的,而代码的上下游也就是程序流对于程序正确运行又是至关重要的.所以我们有必要深入理解js的执行顺序.为此,我设计了如下八个实验来获得最确切的结果. 实验 复制代码 代码如下: <script type="text/javascript"> //实验一: function t(a) { alert("[t(a)]a:" + a); } funct
-
javascript attachEvent绑定多个事件执行顺序问题
常见的绑定事件有直接绑定在页面元素中比如<div id="wrap" onclick="a();"></div>,这个换种方法也就是分离出来写在js代码里如document.getElementById('wrap').onclick = function(){a();},此时如果需要绑定多个方法则直接写在一起即可如document.getElementById('wrap').onclick = function(){a();b();}或&
-
JavaScript执行顺序详细介绍
之前从JavaScript引擎的解析机制来探索JavaScript的工作原理,下面我们以更形象的示例来说明JavaScript代码在页面中的执行顺序.如果说,JavaScript引擎的工作机制比较深奥是因为它属于底层行为,那么JavaScript代码执行顺序就比较形象了,因为我们可以直观感觉到这种执行顺序,当然JavaScript代码的执行顺序是比较复杂的,所以在深入JavaScript语言之前也有必要对其进行剖析.1.1 按HTML文档流顺序执行JavaScript代码首先,读者应该清楚,H
-
浅谈JavaScript 的执行顺序
虽然现代浏览器可以并行的下载JavaScript(部分浏览器),但考虑到JavaScript的依赖关系,他们的执行依然是按照引入顺序进行的. 本文章记录本人在学习 JavaScript 中看书理解到的一些东西,加深记忆和并且整理记录下来,方便之后的复习. 在 html 文档中的执行顺序 js代码执行顺序比较的形象,用户可以直观的感受这种执行顺序.但是,js代码的执行顺序是比较复杂的.有时候我们会把js代码写在html里面,而html文档在浏览器中解析的过程是这样:浏览器按照文档流从上到下逐步解析
-
如何确保JavaScript的执行顺序 之jQuery.html并非万能钥匙
1. 引言 在上一篇文章<如何确保JavaScript的执行顺序 - 之jQuery.html深度分析>中,我们揭示了jQuery.html函数之所以能在各种浏览器下保持动态JS顺序执行,其秘密在于 – 同步AJAX获取外部JavaScript. 我们先来简单回顾下HTML源代码(test2.htm): 复制代码 代码如下: <html> <head> <title></title> <script src="js/jquery-
-
JavaScript 全面解析各种浏览器网页中的JS 执行顺序
我们知道javaScript是一种解释型语言,他的执行是自上而下,但是各个浏览器对于至上而下的理解是有细微差别的,而代码的上下游也就是程序流又对于程序正确至关重要,所以我觉得有必要深入理解多个js块儿的执行顺序. 首先得知道有多少方法能把javaScript加入到页面中呢?常见下述的前2种,其实还有更多. 1.页面中直接引入外部js文件:<script src="my.js"></script> 2.页面中直接写如js片段<script>alert(
-
深入理解javascript的执行顺序
如果你不能理解javaScript语言的运行机制,或者简单地说,你不能掌握javascript的执行顺序,那你就犹如伯乐驾驭不了千里马,让千里马脱缰而出,四处乱窜. 那么JavaScript是怎么来进行解析的吗?它的执行顺序又是如何的呢?在了解这些之前,我们先来认识几个重要的术语: 1.代码块JavaScript中的代码块是指由<script>标签分割的代码段.例如: 复制代码 代码如下: <script type="text/javascript">
-
JavaScript 程序执行顺序问题总结
顺序可能比较乱,写多了再整理,有些术语可能运用也不恰当,欢迎批评指正.以下使用的示例程序都经过了本人的实际验证,兼容各大浏览器.OK,步入正题. 1. 变量的声明和引用 变量必须先声明后引用,这个大家是都知道的,但还是要说说,因为后面要说到一个相关的问题. alert(myStr); // 弹出"undefined"; var myStr = "Hello World!"; alert(myStr); // 弹出"Hello World"; [C
-
如何确保JavaScript的执行顺序 之实战篇
1. 引言 我曾在文章<如何在多个页面使用同一个HTML片段 - 续>的最后提到JavaScript顺序执行的特性.虽然现代浏览器可以并行的下载JavaScript(部分浏览器),但考虑到JavaScript的依赖关系,他们的执行依然是按照引入顺序进行的. 为了更好的测试这个过程,我写了一个简单的HTTP处理程序页面 service.ashx,它可以接受两个参数: 1. file,需要返回文件的服务器端路径. 2. delay,延迟一定时间后再返回本次HTTP请求(毫秒). 一个典型的页面比如
-
Javascript代码在页面加载时的执行顺序介绍
一.在HTML中嵌入Javasript的方法1.直接在Javascript代码放在标记对<script>和</script>之间2.由<script />标记的src属性制定外部的js文件3.放在事件处理程序中,比如:<p onclick="alert('我是由onclick事件执行的Javascript')">点击我</p>4.作为URL的主体,这个URL使用特殊的Javascript:协议,比如:<a href=&q
随机推荐
- vue-router实现组件间的跳转(参数传递)
- Vue-Router来实现组件间跳转的三种方法
- Asp中使用JQuery的AJAX提交中文乱码解决方法
- jQueryUI Sortable 应用Demo(分享)
- Asp.Net中NHiernate的Session的管理
- 一些 PHP 管理系统程序中的后门
- ASP操作数据库的类
- java实现动态上传多个文件并解决文件重名问题
- C++中指针和引用的区别详解
- Android中获取资源 id 及资源 id 的动态获取
- Mysql 5.5.56版本(二进制包安装)自定义安装路径步骤记录
- MySQL降权运行之MySQL以Guests帐户启动设置方法
- mysql获得60天前unix时间的方法
- 一次失败的jQuery优化尝试小结
- Java设计模式之建造者模式实例详解
- 关于C语言指针赋值的问题详解
- 解决MySQL Workbench gnome-keyring-daemon错误的方法分享
- 那些年用httpclient时踩过的一些坑
- python多线程共享变量的使用和效率方法
- Python 正则表达式 re.match/re.search/re.sub的使用解析