【问题标题】:Why are my JS scripts only working when linked within the "head" section?为什么我的 JS 脚本只有在“head”部分链接时才有效?
【发布时间】:2017-01-13 00:14:35
【问题描述】:

我昨天问了一个问题,谁的回答是“你的 JS 没有正确链接”。这是我现在的问题:为什么仅当链接位于 head 部分而不是 body 部分时才加载脚本?我被教导将它们放在身体的最底部,如下所示:

<!DOCTYPE html> 
<html lang="en">
<head>
    <title>Number Crunchers</title>
    <meta charset="utf-8">
    <meta class="meta" name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="css/uikit.css" />
    <link rel="stylesheet" type="text/css" href="css/newcustom.css">
    <link rel="stylesheet" type="text/css" href="css/cards.css">
    <!--
    <script src="js/uikit.min.js"></script>
    <script src="js/jquery.min.js"></script>
    -->
</head>
<body>
    <!--Page Content-->

    <script src="js/uikit.min.js"></script> 
    <script src="js/jquery.min.js"></script>
</body>
</html>

script 位于底部时,没有任何作用。但是,当我把它放在顶部时,一切正常。为什么?

【问题讨论】:

  • 你还有其他依赖 jquery.js 的脚本吗?您是否至少检查过控制台以查看移动 JS 时出现的错误?
  • 我不这么认为。我从我的代码中复制了整个头部,我没有看到控制台中弹出任何内容。
  • 在那种情况下,什么'不起作用'?他们之间的行为如何变化?你在这里没有给我们很多工作。鉴于您的代码示例,逻辑不应受到影响
  • 根据 UIkit 文档,jQuery 必须在 UIkit 代码之前导入。
  • 既然我是新手,为什么我的问题被否决了?我不明白发生了什么,所以我问了一个问题......

标签: javascript jquery html css getuikit


【解决方案1】:

&lt;/body&gt; 之前加载它们很好,问题是jquery 应该是第一个,而且你还有一些拼写错误(见下面的图片)会破坏代码,因此它们只会在这些之前加载(当在&lt;head&gt;)

<body>
<!--Page Content-->
        ...
<!--Javascript to make the world go round -->
<script src="js/jquery.min.js"></script>
<script src="js/uikit.min.js"></script> 
</body>
</html>

在这里看到这些错别字(在“检查”和“程序”之后):

【讨论】:

  • 那如果按相同的顺序加载到head标签中为什么会起作用呢?
  • 他有&lt; 拼写错误,因此它们会在这些错误之前加载。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-01-18
  • 2016-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多