当您将JavaScript(jQuery)作为单独的文件链接时,它有时不起作用

当您将JavaScript(jQuery)作为单独的文件链接时,它有时不起作用,javascript,jquery,html,Javascript,Jquery,Html,我从中找到了这些示例代码 代码如下所示: <script> $("#modal2Button").click(function() { $("#modal1").fadeOut(); setTimeout(function() { $("#modal2").fadeIn(); }, 400) }); $("#close-button").click(function() { setTimeou

我从中找到了这些示例代码

代码如下所示:

<script>
    $("#modal2Button").click(function() {
      $("#modal1").fadeOut();
      setTimeout(function() {
        $("#modal2").fadeIn();
      }, 400)
    });


    $("#close-button").click(function() {
      setTimeout(function() {
        $("#modal1").fadeIn();
        $("#modal2").fadeOut();
      }, 1000)

    });
</script>

$(“#modal2按钮”)。单击(函数(){
$(“#modal1”).fadeOut();
setTimeout(函数(){
$(“#modal2”).fadeIn();
}, 400)
});
$(“#关闭按钮”)。单击(函数(){
setTimeout(函数(){
$(“#modal1”).fadeIn();
$(“#modal2”).fadeOut();
}, 1000)
});
当我将jQuery粘贴为单独的文件并将其链接到


出于某种原因,这是行不通的


任何帮助都将不胜感激

是的,它肯定不起作用,因为DOM元素尚未加载,而您正在访问它们,因此它们将是一个错误
未定义的id modal2Button
下一个相同

如果在加载所有DOM元素的情况下运行js文件,则不会出现问题

您可以通过以下方式完成此操作:

  • 将脚本标记移动到html的底部或正文标记结束之前
  • ||中使用
    异步
    延迟
  • 在js中使用
    onload
    函数

这只是确保使用JavaScript文件的正确路径的问题:



请注意文件名前面的
/
,这表示该文件与HTML文件处于同一级别。

文件路径正确吗?若您的JavaScript位于HTML文件旁边,那个么您可能需要执行
尝试检查网页中的元素,在浏览器中按F12打开devtools并尝试查找您的JavaScript导入,检查它是否可访问。如果不可访问,则在filename.js之前添加
/
,如
src=“./sample\u code.js”
@RobertCooper感谢您的帮助,似乎是导致问题的路径@谢谢我试过按F12,这似乎是检查文件是否导入的更好方法!你刚刚解决了我的下一个问题!我必须将标记移到html的底部,这是一个DOM问题!非常感谢。你的回答向像我这样的新人解释了一个非常好的观点,请帮忙
<head>
<script src="sample_code.js"></script>
</head>