首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么它说$没有定义?

为什么它说$没有定义?
EN

Stack Overflow用户
提问于 2019-01-06 02:40:50
回答 2查看 43关注 0票数 0

所以,因为我喜欢我的代码被组织起来,所以我在互联网上搜索了如何将jQuery加载到JS文件中,这样我就可以在html文件中加载JS文件,并在JS文件中单独工作。我在网上找到了一个优雅的解决方案,并应用了它,当我检查jQuery是否加载时,它起作用了,但当我试图从div中查找类时,它就不起作用了。它给出了"$ is not difined“错误。为什么?检查表明jQuery已加载。

JS代码:

代码语言:javascript
复制
var script = document.createElement('script');
script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js';
script.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);
window.onload = function()
{
if (window.jQuery)
{
    alert('jQuery is loaded');
}
else
{
    alert('jQuery is not loaded');
}
}
$('.spectacle').click(function(){
alert('plm');
});

HTML代码:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
<title>Spectacole</title>
<link rel="stylesheet" type="text/css" href="Spectacole.css">
</head>
<body>
<div id="top-bar">
    <div id="bar-background"></div>
    <a href="../StartingPage/startingPage.html"><button 
id="mainMenu">
    </button></a>
</div>
<div id="wrapper">
    <div class="spectacle">

    </div>

    <div class="spectacle">

    </div>
    <div class="spectacle">
    </div>
    <div class="spectacle">
    </div>
    <div class="spectacle">
    </div>
    <div class="spectacle">
    </div>
    <div class="spectacle">
    </div>
</div>
    <script type="text/javascript" src="Spectacole.js"></script>
</body>
</html>
EN

回答 2

Stack Overflow用户

发布于 2019-01-06 02:46:24

添加

代码语言:javascript
复制
$('.spectacle').click(function(){
alert('plm');
});

window.onload = function(){ }内幕

代码语言:javascript
复制
 var script = document.createElement('script');
script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js';
script.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);
window.onload = function()
{
if (window.jQuery)
{
    alert('jQuery is loaded');
}
else
{
    alert('jQuery is not loaded');
}
  $('.spectacle').click(function(){
alert('plm');
});
}
代码语言:javascript
复制
.spectacle {
  height:50px;
  width:50px;
  background:#000;
  border:1px solid #fff;
}
代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
<title>Spectacole</title>
<link rel="stylesheet" type="text/css" href="Spectacole.css">
</head>
<body>
<div id="top-bar">
    <div id="bar-background"></div>
    <a href="../StartingPage/startingPage.html"><button 
id="mainMenu">
    </button></a>
</div>
<div id="wrapper">
    <div class="spectacle">

    </div>

    <div class="spectacle">

    </div>
    <div class="spectacle">
    </div>
    <div class="spectacle">
    </div>
    <div class="spectacle">
    </div>
    <div class="spectacle">
    </div>
    <div class="spectacle">
    </div>
</div>
    <script type="text/javascript" src="Spectacole.js"></script>
</body>
</html>

票数 1
EN

Stack Overflow用户

发布于 2019-01-06 02:50:08

为什么要通过将脚本标记附加到DOM来添加jQuery,为什么不从一开始就将标记放在DOM中?

似乎与本文讨论的问题相同,所以:Load jQuery with Javascript and use jQuery

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54055075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档