基本的jQuery命令不起作用
Basic jQuery commands not working
谁能告诉我为什么我尝试的javascript/jQuery命令在我的计算机上不起作用,但总是在互联网上工作? 下面是一个基本命令的示例:
Javascript 文件 (test.js(, css file (test.css( (donmind the css( 和 html file (test.html(:
var $list = $('li');
$list.click(function() {
alert("working");
});
li {
list-style-type: none;
position: relative;
margin: 1px;
padding: 0.5em 0.5em 0.5em 2em;
background: grey;
}
li.done {
background: #CCFF99;
}
li.done::before {
content: '';
position: absolute;
border-color: #009933;
border-style: solid;
border-width: 0 0.3em 0.25em 0;
height: 1em;
top: 1.3em;
left: 0.6em;
margin-top: -1em;
transform: rotate(45deg);
width: 0.5em;
}
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" type="text/css" href="test.css">
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
<script type="text/javascript" src="test.js"></script>
</head>
<body>
<ul>
<li>Acheter du lait</li>
<li>Promener le chien</li>
<li>Faire de l'exercice</li>
<li>Coder</li>
<li>Jouer de la musique</li>
<li>Relax</li>
</ul>
</body>
</html>
看? 它适用于堆栈溢出。 然而,当我从我的计算机运行html文件时,js/jq脚本永远不会工作。 我知道我没有不正确地链接js文件,因为Safari开发人员工具能够从html文件访问它。 这是怎么回事?
如果$list.click
部分处于测试.js中,则在构造li
元素之前执行此代码。将代码包装在$(document).ready(function(){...})
注意:
它在这里工作,因为在代码片段框架中,源代码stackoverflow将javascript片段附加到html下面 - 以便在DOM完全构建时执行代码。
尝试用 $(document(.ready(( 编写代码,以便 DOM 可以使用,否则它可能无法正常工作。您必须添加:
$(function(){
//Your Js code
});
在您的示例中,请使用:
$(function(){
var $list = $('li');
$list.click(function() {
alert("working");
});
});
同样的问题:脚本标签在正文内部有效,但在正文外部不起作用
好的,我找到了。 我只需要将代码包装在
$(function(){
});
或
$(document).ready(function(){
//code
});
感谢伊戈尔和琼·
您遇到的问题可能与您在浏览器中打开网页的方式有关。
您不能只将它们作为文件打开:c:'website'index.html
相反,你应该安装一个堆栈,如WAMP,XAMPP或EasyPHP。我推荐XAMPP
安装后,您只需输入浏览器地址栏:
localhost
您将从c:'xampp'htdocs
文件夹中看到index.html
的渲染内容。 该文件夹(c:''xampp''htdocs(成为您的网站,其工作方式与网站完全相同。资源将正确加载(这听起来像是您遇到的问题(。
安装后,只需清除该文件夹,然后将所有网站.html和.php等文件复制到该文件夹中。使用与网站上相同的文件夹结构。CPANEL 网站的public_html
文件夹是 C: 驱动器上的c:'xampp'htdocs
文件夹。
如果您在其中创建一个文件夹,例如dev,并在其中放置一个名为mytest.html
的文件,则可以在浏览器地址栏中键入:
localhost/dev/mytest.html
另一个很棒的技巧是通过编辑 Windows hosts
文件给自己一个域。例如,您可以通过编辑此文件在本地使用 duchesne.com
域:
c:'windows'system32'drivers'etc'hosts
请注意,该文件没有扩展名。
然后,在该文件中,在最底部的某一行上键入:
127.0.0.1 duchesne.com
保存该文件后,当您在浏览器地址栏中键入时:
http://duchesne.com
您将从c:'xampp'htdocs
文件夹中获取索引.html文件。如果您键入:
http://duchesne.com/dev
您将从 c:'xampp'htdocs'dev
文件夹中获取 index.html 文件。
不要忘记该文件非常重要!它将永远阻止您访问在线http://duchesne.com
网站。当然,禁用它就像注释掉该行一样简单(通过在前面放一个#
(或弄乱重定向,这是我通常做的:
127.0.0.1 xduchesne.com
(删除前导 x 比重新键入整行更容易(。最酷的事情:更改立即发生,无需重新启动 - 甚至没有弹跳浏览器。
资源:
Windows: XAMPP vs WampServer vs EasyPHP vs 替代方案
你可能必须包含你的网站的JQuery库,才能知道它将使用JQuery。以下是包含它的一种方法:在 html 的 head 标签中,粘贴以下脚本:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
如果您通过"拖放"将 html 文件放入浏览器窗口,并且您看到file://
作为协议,则 jQuery 无法从 URL 下载。这很可能是你的问题。
编辑:
我看到您的 JS 代码在 test .js 文件中加载在 head 部分中。因此,如果这仍然不起作用,请尝试将 test.js 文件中的代码替换为以下内容:
$(document).on('click', 'li', function (){
alert('working');
});
在这样的时代,CDN 回退至关重要。例:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
if (!window.jQuery) {
document.write('<script src="//code.jquery.com/jquery-1.10.2.min.js"><'/script>');
}
</script>
<script>
if (!window.jQuery) {
document.write('<script src="/Scripts/jquery-1.10.2.min.js"><'/script>');
}
</script>
如果Google CDN失败,它会加载jQuery CDN。如果 THAT 也失败,则加载本地副本。
试试这是否有帮助
使用安全的jquery编码怎么样?
jQuery(document).ready(function ($) {
$('li').click(function() {
alert("working");
});
});
或
jQuery(document).ready(function () {
jQuery('li').click(function() {
alert("working");
});
});
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 监视函数从服务返回不起作用,但作用域函数起作用
- 幻灯片滚动javascript不起作用
- 简单的javascript在Shopify中不起作用
- Web控制台命令不起作用
- 为什么我的关键命令不起作用
- 基本的jQuery命令不起作用
- 谷歌地图融合表API SQL“;“喜欢”;命令不起作用
- 永远启动命令不起作用
- 多个 jquery 命令不起作用
- 脚本在printWindow命令中不起作用
- 用于发送电子邮件的Javascript函数不起作用(固定命令打开outlook,而函数不起)
- Jquery循环插件.上一个命令不起作用
- Bower安装命令在windows上不起作用
- 在windows上安装Node后,Node命令在cmd中不起作用
- 当尝试创建多个js文件时,命令在早午餐中不起作用
- .push()命令在javascript中不起作用
- 为什么在包装adobe空气应用程序后,它没有'不起作用,但通过命令行运行它起作用吗
- 节点命令不起作用
- Typeof命令不起作用