You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

jQuery document.ready未触发、jQuery完全失效问题求助

问题分析与解决方案

嘿,我瞅了你的代码,发现问题出在一个很容易忽略的语法细节上!先给你指出来,再补充几个排查点:

1. 修复核心语法错误

你的jQuery(document).ready调用少了函数参数和包裹它的括号,这直接导致代码无法执行。正确的写法应该是把回调函数作为参数传给ready方法:

<script src="jquery-3.3.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery.noConflict();
// 标准的ready写法
jQuery(document).ready(function() {
    console.log("HELLO");
});
</script>

或者用更简洁的简写形式(效果完全一致,还更省心):

<script src="jquery-3.3.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery.noConflict();
// 简写版本,推荐使用
jQuery(function() {
    console.log("HELLO");
});
</script>

2. 额外排查点(帮你再确认下)

虽然你已经做了部分排查,但可以再检查这几点:

  • 确认jQuery文件是否加载成功:打开浏览器开发者工具(按F12),切换到「Network」标签,刷新页面,找到jquery-3.3.1.min.js,看它的状态码是不是200。如果是404,说明文件路径不对,得调整相对路径或者换成绝对路径。
  • 检查是否有其他脚本报错:切换到「Console」标签,看看有没有红色的错误提示。页面里其他JS脚本的错误可能会阻断后续代码执行,导致你的日志打不出来。
  • 确认noConflict的使用逻辑:如果你页面里还有其他依赖$的库,要确保jQuery的加载顺序在那些库之前,这样noConflict才能正常把$的控制权交出去。不过你这里全程用的是jQuery前缀,这部分应该没问题。

内容的提问来源于stack exchange,提问作者Yoshi Hilke

火山引擎 最新活动