script在html中的摆放位置

来源:互联网 发布:用友t3报表没有数据 编辑:程序博客网 时间:2024/04/30 15:24

以前一直觉得script在html中的任何位置都可以,今天做一个需求的时候才更正了自己的错误思想啊--script的位置也不是随便放的。

首先是想实现一个select标签,有是和无两个option,但是在初始化的时候要求select标签默认选择空值,所以我在点击的时候加了一个方法让他把空值删掉:

<!DOCTYPE html><html><head><script src="jquery/jquery-1.11.1.min.js"></script></head><script>$('#checkcash').click(function () {        if ($('#checkcash').val() == '0') {            $("#checkcash option[value='0']").remove();        }    });    $("#alert").click(function(){    alert("1123");    })</script><body> 是否已提现 <select id="checkcash"   style="width: 181px">                            <option selected="selected" value="0"></option>                            <option value="1"></option>                            <option value="2"></option>                            </select>                            &nbsp;                            <input type='button' id='alert' value="anwo"></body></html>

但是这样并不能达到想要的效果,起初以为是jquery语法错误还一直在网上查,改,但是都不管用,后来突然想到是不是应该把script放到后面,试了一下,结果果真ok了,这才恍然大悟,原来不是这样的。

 

后来查了一下原因是因为,html文件是自上而下的执行方式,但引入的css和javascript的顺序有所不同,css引入执行加载时,程序仍然往下执行,而执行到<script>脚本是则中断线程,待该script脚本执行结束之后程序才继续往下执行。所以,一般将script放在body之后是因为避免长时间执行script脚本而延迟阻塞。而有一些页面的效果的实现,是需要预先动态的加载一些js脚本,所以这些脚本应该放在<body>之前。其次,不能将需要访问dom元素的js放在body之前,因为此时还没有开始生成dom,所以在body之前的访问dom元素的js会出错,或者无效。就是因为这个,在dom没生成好时我就给它添加了方法,才导致这样。

 

真的应该多学习很多地方以为所以然了,却没深究。以后还要加油!

 ps:其实还有另外一种方法,那就是用jquery的初始化页面方法,把上面给标签添加的点击事件加入到$(function(){})中也是可以的,原理和上面是一样的,这个方法是等页面加载好了才执行,所以不管放在哪都可以了!

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 挠钩 阴道口越挠越痒 脚气越挠越痒的原理 小孩子身上痒一挠就起疙瘩 挠性接头 挠性 挠性管接头 单球挠性橡胶接头 抓挠性荨麻疹 橡胶挠性接头 挠性覆铜板 得了过敏性皮炎为什么不能挠 防爆挠性软管 挠性管 挠性橡胶接头 防爆金属挠性管 挠性板 身上痒一挠就起大片疙瘩 挠脚心之生擒女杀手2 不屈不挠造句 屁眼刺挠痒怎么回事 皮肤瘙痒越挠越痒 痒痒挠 挠痒痒系列 挠痒痒 身上痒一挠就起疙瘩 手痒起水泡怎么办越挠越痒 皮肤痒一挠就起红点或红块 身上痒一挠就起疙瘩怎么回事 身上痒一挠就红一片 身上痒一挠就起小疙瘩 手指痒挠后有小水泡 身上很痒挠后起疙瘩 身上痒一挠就起小红点 身上痒挠后起疙瘩 腋下痒越挠越痒 晚上身上痒一挠就起疙瘩 日本痒刑学院挠脚心 挠痒 挠上身痒15分钟哭 手掌痒怎么办越挠越痒