全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

js放到head中失效的原因与解决方法

1.今天写js碰到一个奇怪的问题,写好的js放到body里面执行,但是放到head中没有任何效果,为什么导致这种原因呢?

看失效代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <title> new document </title>
 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
 <style type="text/css">
 .login{width:40px;height:25px;line-height:25px;background-color:#4E74A5;margin-top:30px;text-align:center;color:#FFF;}
 </style>
 <script type="text/javascript" src="jquery-1.7.1.min.js"></script>
 <script type="text/javascript">
 $(".login").click(function(){
   alert(1);
   });
 </script>
 </head>
 <body>
 <input type="text" class="pass" />
 <div id="enter" class="login"> 登录</div>
 </body>
</html>

2.解决办法:把js代码放到body中,或者利用 window.onload = function(){} 代码包裹,文档加载之后再执行,以后不建议放到head中。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <title> new document </title>
 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
 <style type="text/css">
 .login{width:40px;height:25px;line-height:25px;background-color:#4E74A5;margin-top:30px;text-align:center;color:#FFF;}
 </style>
 <script type="text/javascript" src="jquery-1.7.1.min.js"></script>
 <script type="text/javascript">
 window.onload = function(){
 $(".login").click(function(){
   alert(1);
   });
 } 
 </script>
 </head>
 <body>
 <input type="text" class="pass" />
 <div id="enter" class="login"> 登录</div>
 </body>
</html>

3.原因:

因为文档还没加载,就读了js,js就不起作用了想在head里用的话,用window.onload = function(){//这里包裹你的代码}

js可以分为外部的和内部的,外部的js一般放到head内。内部的js也叫本页面的JS脚本,内部的js一般放到body内,这样做的目的有很多:

1.不阻塞页面的加载(事实上js会被缓存)。

2.可以直接在js里操作dom,这时候dom是准备好的,即保证js运行时dom是存在的。

3.建议的方式是放在页面底部,监听window.onload 或 readystate 来触发js。

4.延伸:

head内的js会阻塞页面的传输和页面的渲染。head 内的 JavaScript 需要执行结束才开始渲染 body,所以尽量不要将 JS 文件放在 head 内。可以选择在 document 完成时,或者特定区块后引入和执行 JavaScript。head 内的 JavaScript 需要执行结束才开始渲染 body,所以尽量不要将 JS 文件放在 head 内。可以选择在 document 完成时,或者特定区块后引入和执行 JavaScript。

所以在head内的js一般要先执行完后,才开始渲染body页面。为了避免head引入的js脚本阻塞流浪器中主解析引擎对dom的解析工作,对dom的渲染,一般原则是,样式在前面,dom文档,脚本在最后面。遵循先解析再渲染再执行script这个顺序。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# js  # head  # js放到head失效  # JS实现发送短信验证后按钮倒计时功能(防止刷新倒计时失效)  # JS失效 提示HTML1114: (UNICODE 字节顺序标记)的代码页 utf-8 覆盖(MET  # 使用jQuery的load方法设计动态加载及解决被加载页面js失效问题  # JS出现失效的情况总结  # 使用微信内嵌H5网页解决JS倒计时失效问题  # jsp 网站引入外部css或者js失效问题解决  # js 开发之autocomplete="off"在chrom中失效的解决办法  # 放在  # 加载  # 文档  # 要将  # 可以选择  # 还没  # 有很多  # 就不  # 则是  # 没有任何  # 这样做  # 可以直接  # 要先  # 在前面  # 本页面  # 解决办法  # 为了避免  # 完后  # 读了  # 也叫 


相关文章: 如何快速查询网站的真实建站时间?  企业网站制作公司网页,推荐几家专业的天津网站制作公司?  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  Swift中switch语句区间和元组模式匹配  孙琪峥织梦建站教程如何优化数据库安全?  如何在万网自助建站平台快速创建网站?  红河网站制作公司,红河事业单位身份证如何上传?  设计网站制作公司有哪些,制作网页教程?  如何续费美橙建站之星域名及服务?  C#如何序列化对象为XML XmlSerializer用法  黑客入侵网站服务器的常见手法有哪些?  建站之星如何修改网站生成路径?  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  如何选择建站程序?包含哪些必备功能与类型?  小说建站VPS选用指南:性能对比、配置优化与建站方案解析  江苏网站制作公司有哪些,江苏书法考级官方网站?  建站主机选购指南:核心配置优化与品牌推荐方案  代刷网站制作软件,别人代刷火车票靠谱吗?  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  建站之星后台密码遗忘如何找回?  如何快速使用云服务器搭建个人网站?  建站之星如何优化SEO以实现高效排名?  如何选择香港主机高效搭建外贸独立站?  建站之星价格显示格式升级,你的预算足够吗?  相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?  如何用IIS7快速搭建并优化网站站点?  如何在Golang中指定模块版本_使用go.mod控制版本号  网站图片在线制作软件,怎么在图片上做链接?  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  专业网站制作服务公司,有哪些网站可以免费发布招聘信息?  金*站制作公司有哪些,金华教育集团官网?  建站之星如何通过成品分离优化网站效率?  制作农业网站的软件,比较好的农业网站推荐一下?  c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗  网站建设制作、微信公众号,公明人民医院怎么在网上预约?  网站制作公司排行榜,抖音怎样做个人官方网站  济南网站制作的价格,历城一职专官方网站?  家庭服务器如何搭建个人网站?  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  css网站制作参考文献有哪些,易聊怎么注册?  如何快速搭建安全的FTP站点?  宝塔新建站点报错如何解决?  制作营销网站公司,淘特是干什么用的?  如何快速启动建站代理加盟业务?  如何通过可视化优化提升建站效果?  网站制作软件免费下载安装,有哪些免费下载的软件网站?  建站主机服务器选型指南与性能优化方案解析  如何在云主机上快速搭建多站点网站?  如何在IIS中配置站点IP、端口及主机头?  微信推文制作网站有哪些,怎么做微信推文,急? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。