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

发布时间 - 2026-01-11 00:02:59    点击率:

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中失效的解决办法  # 放在  # 加载  # 文档  # 要将  # 可以选择  # 还没  # 有很多  # 就不  # 则是  # 没有任何  # 这样做  # 可以直接  # 要先  # 在前面  # 本页面  # 解决办法  # 为了避免  # 完后  # 读了  # 也叫 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么调用外部API_Laravel Http Client客户端使用  Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询  如何获取上海专业网站定制建站电话?  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID  如何快速搭建二级域名独立网站?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  怎样使用JSON进行数据交换_它有什么限制  php做exe能调用系统命令吗_执行cmd指令实现方式【详解】  如何为不同团队 ID 动态生成多个非值班状态按钮  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  百度浏览器网页无法复制文字怎么办 百度浏览器复制修复  如何注册花生壳免费域名并搭建个人网站?  油猴 教程,油猴搜脚本为什么会网页无法显示?  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  昵图网官方站入口 昵图网素材图库官网入口  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  详解Android图表 MPAndroidChart折线图  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南  JavaScript常见的五种数组去重的方式  Laravel如何保护应用免受CSRF攻击?(原理和示例)  个人网站制作流程图片大全,个人网站如何注销?  如何在Tomcat中配置并部署网站项目?  如何构建满足综合性能需求的优质建站方案?  如何快速生成专业多端适配建站电话?  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  独立制作一个网站多少钱,建立网站需要花多少钱?  Laravel如何配置任务调度?(Cron Job示例)  JS碰撞运动实现方法详解  bing浏览器学术搜索入口_bing学术文献检索地址  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  Java垃圾回收器的方法和原理总结  javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】  香港服务器网站推广:SEO优化与外贸独立站搭建策略  历史网站制作软件,华为如何找回被删除的网站?  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  魔毅自助建站系统:模板定制与SEO优化一键生成指南  Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康  Java遍历集合的三种方式  打造顶配客厅影院,这份100寸电视推荐名单请查收  如何自定义建站之星网站的导航菜单样式?  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?