在编写html文档时,javascript可以放置的位置有两个地方<head>或者<body>,但是放置的地方,会对 JavaScript 代码的正常执行会有一定影响。由于 HTML 文档是由浏览器从上到下依次载入的,javascript的放置位置主要影响获取网页元素。如果你的代码中包含获取网页元素的代码例如document.getElementById(),那么你需要确保你的javascript代码要在你想要获取的元素的位置之后。如过在你想要获取的元素的位置之前调用这个些代码,由于网页还没加载,造成你无法获取那个元素,下面用例子说明:

例如:

<html>
<head>
<meta http-equiv="content-type", content="html/text; charset=UTF-8">
<title>测试</title> <script >
document.getElementById("ceshi").onclick=function(){
document.getElementById("text").innerHTML="海阔凭鱼跃,天高任鸟飞";
}
</script>
</head>
<body> <p id="text">提示</p>
<button id="ceshi" >测试</button> </body>
</html>

 这时候程序是错误的,因为javascript代码加载在前,所以document.getElementById("ceshi") 会出现错误。因为此时页面还没加载,找不到这个元素。

放在<body>中,但是在想要获取的元素之前,程序也是错误的

<html>
<head>
<meta http-equiv="content-type", content="html/text; charset=UTF-8">
<title>测试</title>
</head>
<body>
<script >
document.getElementById("ceshi").onclick=function(){
document.getElementById("text").innerHTML="海阔凭鱼跃,天高任鸟飞"; }
</script>
<p id="text">提示</p>
<button id="ceshi" >测试</button> </body>
</html>

  放在<p>元素之后,程序正确

<html>
<head>
<meta http-equiv="content-type", content="html/text; charset=UTF-8">
<title>测试</title>
</head>
<body> <p id="text">提示</p>
<button id="ceshi" >测试</button>
<script >
document.getElementById("ceshi").onclick=function(){
document.getElementById("text").innerHTML="海阔凭鱼跃,天高任鸟飞"; }
</script>
</body>
</html>

  但是如果用jQuery或者是通过定义函数的形式可以不用考虑javascript代码的放置位置。比如

html>
<head>
<meta http-equiv="content-type", content="html/text; charset=UTF-8">
<title>测试</title>
<script>
function abc(){
document.getElementById("text").innerHTML="海阔凭鱼跃,天高任鸟飞"; }
</script>
</head>
<body> <p id="text">提示</p>
<button id="ceshi" onclick="abc()" >测试</button> </body>
</html>

  

<html>
<head>
<meta http-equiv="content-type", content="html/text; charset=UTF-8">
<title>测试</title>
<script src="jquery-1.12.4.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){ $("#text").html("海阔凭鱼跃,天高任鸟飞"); });
});
</script>
</head>
<body> <p id="text">提示</p>
<button id="ceshi" onclick="abc()" >测试</button> </body>
</html>

  

javascript代码放置位置对程序的影响的更多相关文章

  1. JS代码放置位置、变量与数据类型、运算符与逻辑表达运算符

    内容简要: 1.JS代码放置位置的问题: 2.变量与数据类型: 3.运算符与逻辑表达式的运算符   我的位置 全局问题:为何在网页推荐位置(一般在<head></head>内部 ...

  2. JavaScript代码存放位置

    JavaScript代码存放位置 HTML的head中 HTML的body代码块底部(推荐) 由于Html代码是从上到下执行,如果Head中的js代码耗时严重,就会导致用户长时间无法看到页面,如果放置 ...

  3. Python读写文件的路径,关于os.chdir(path)位置对程序的影响,

    关于os.chdir(path)位置对程序的影响,import os import time#直接把path放到open()里面 def fu0(): star = time.time() for i ...

  4. javascript标签放置位置

    首先:放置位置哪里都能放 但是js代码很有可能不起作用:例如:往id为span的标签中定时插入数字 var time=document.getElementById("span") ...

  5. 拼团商品列表页 分析 js代码行位置对执行的影响和window.onload的原理 setTimeout传参

    w TypeError : Cannot set property 'innerHTML' of nullTypeError : Cannot set property 'value' of null ...

  6. 分析JavaScript代码应该放在HTML代码哪个位置比较好

    本文总结了多种放置JS代码的方法,需要的朋友可以参考下 在哪里放置 JavaScript 代码? 通常情况下,JavaScript 代码是和 HTML 代码一起使用的,可以将 JavaScript 代 ...

  7. JavaScript代码放在HTML代码不同位置的差别

    通常情况下,JavaScript 代码是和 HTML 代码一起使用的,可以将 JavaScript 代码放置在 HTML 文档的任何地方.但放置的地方,会对 JavaScript 代码的正常执行会有一 ...

  8. 如何正确的加载和执行 JavaScript 代码

    无论当前 JavaScript 代码是内嵌还是在外链文件中,页面的下载和渲染都必须停下来等待脚本执行完成.JavaScript 执行过程耗时越久,浏览器等待响应用户输入的时间就越长.浏览器在下载和执行 ...

  9. JavaScript代码-----位置决定结果

    刚学JavaScript的时候,即使照着书上的代码敲一遍,运行的时候,得到的结果要么总是和书上的结果不同,要么是没产生效果.学到后面,才明白到其实程序的代码是没错的,错误的是代码的位置! 首先看下面这 ...

随机推荐

  1. 转:VS2010与SVN

    在VS2010中使用SVN,必须先安装SVN的客户端,再安装VisualSVN(SVN的插件).必须保证两者的版本不冲突,我现在安装的是TortoiseSVN-1.7.10.23359-win32-s ...

  2. Java进阶代码

    本文重在温习……不过初学以及进阶高手不可错过 1.  public static void arraycopy(全小写)(object src,int srcPos,object dest,int d ...

  3. Chrome extension

    PageSpeed Tincr SpriteMe JSONView FireMobileSimulator for Google Chrome™

  4. ViewPage和ActionBar打造滑动视图

    滑动效果非常流畅,可以将页签放置到ActionBar上,点击页签可以切换ViewPage,滑动ViewPage会同步更显Tabs. main.xml <?xml version="1. ...

  5. 【转】整理一下Android中的ListView

    原文网址:http://sunbofu.blog.51cto.com/6431507/1280441 Android中的listview目测是一个使用频率很高的组件,所以今天来总结一下listview ...

  6. link@import

    1.两者区别 1)link属于XHTML标签,而@import是CSS提供的;2)页面被加载的时,link会同时被加载,而@import引用的CSS会等到页面被加载完再加载; 3)import只在IE ...

  7. [git] github 使用简单记录

    前提 :1. 已有 github 账号.2. 已安装 git .3. 在 github 和 本地 git 客户端交互秘钥.(这步我记得需要做,有点久远,不确定.) 正文: 下面是一个简单的例子.先在 ...

  8. Be Sociable, Share!

  9. 数据库 —— mySQL 的安装

    [转载Link]MySQL-5.6.24免安装版配置方法,有需要的朋友可以参考下. 1. 下载MySQL Community Server 5.6.24 2. 解压MySQL压缩包 将以下载的MySQ ...

  10. vbs自学备份

    最小化所有窗口: Set obj = CreateObject("Shell.Application")obj.MinimizeAll 最小化某窗口: Const strTitle ...