浅谈script在html中的摆放位置
以前一直觉得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>
- <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(){})中也是可以的,原理和上面是一样的,这个方法是等页面加载好了才执行,所以不管放在哪都可以了!
以上这篇浅谈script在html中的摆放位置就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
栏 目:CSS/HTML
下一篇:html中meta标签及用法详解
本文标题:浅谈script在html中的摆放位置
本文地址:https://www.xiuzhanwang.com/a1/CSS_HTML/9551.html
您可能感兴趣的文章
- 04-02html中加入css样式的简单介绍
- 01-10利用iframe在网页中显示天气附效果截图
- 01-10html用style添加属性示例
- 01-10HTML中rel属性分析
- 01-10在html文件里include文件内容的方法小结
- 01-10a标签的背景图在ie8下不显示问题的解决方法
- 01-10&lt;td&gt;&lt;/td&gt;标签的bord
- 01-10HTML中Li标签的使用示例
- 01-10几个老式播放器的嵌入代码
- 01-10浅谈html中input只读属性readonly和disable的区别
阅读排行
本栏相关
- 04-02表格样式css样式,css样式表单
- 04-02好看的字体样式css,好看的字体样式图
- 04-02分页样式css,分页样式jq
- 04-02分页样式css,分页样式栏里用来定义首
- 04-02css样式的引入,css样式怎么引入
- 04-02css滚动条样式,css滚动条的样式
- 04-02css样式引入方式有几种,网页引入css样
- 04-02html中加入css样式的简单介绍
- 04-02vue中的css样式布局,vue添加css样式
- 04-02内嵌样式css,内嵌样式表,内部样式表
随机阅读
- 01-10vue实现分页加载效果
- 01-10C++ 类访问控制的条件总结
- 08-05DEDECMS点击主栏目默认显示第一个子栏
- 01-10C++实现将数组中的值反转
- 08-05dedecms织梦模板编辑文档的同时自动更
- 01-10C语言打印杨辉三角示例汇总
- 01-10bat批处理彻底隐藏文件的方法(使用
- 01-11常用的HTML富文本编译器UEditor、CKEdi
- 08-05织梦dedecms首页调用缩略图为背景
- 08-05dedecms织梦模板全站调用收藏数的方法