jQuery中的任何内容似乎都不适合我。我的版本是18.0.1025.151米。 javascript位于文件 test.js :
中$('#paragraph').click(function() {
$('#paragraph').hide();
});
html就是这样:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery Example</title>
<script src="jquery-1.7.1.min.js"></script>
<script src="test.js"></script>
</head>
<body>
<p id="paragraph">This is my paragragh 401!</p>
</body>
</html>
我已经三次检查过jQuery文件应该在哪里。本质上,代码应该在单击时使段落消失。看起来很简单,语法正确。我选择了这么简单的代码,因为虽然常规的javascript语句和代码工作正常(例如alert()和whatnot),但jQuery中到目前为止一切都没有。
这是奇怪的部分。在Chrome的开发人员工具中使用控制台时,如果我输入完全相同的jQuery内容并按Enter键,它实际上可以正常工作并按照预期的方式运行。
这与Chrome的安全结构有什么关系吗?
编辑另外,我还要注意,我还没有在我的服务器上上传这些文件。这是在localhost上(我正在使用 xammp 来获取它的价值),所以也许这可能有助于解决这个问题。
答案 0 :(得分:3)
将文档中的代码包装好,或将test.js
放在最终正文标记之前。
答案 1 :(得分:2)
它在DOM准备好之前执行。它应该是这样的:
$(function(){
$('#paragraph').click(function() {
$('#paragraph').hide();
});
});
要解决以下评论:
.ready()方法通常与匿名函数一起使用:
$(document).ready(function() {
// Handler for .ready() called.
});
这相当于调用:
$(function() {
// Handler for .ready() called.
});
答案 2 :(得分:0)
你必须把它包装好。那可能是你的问题。您也可以使用$(this)
或缓存选择器。
$(function () {
$('#paragraph').click(function () {
$(this).hide();
});
});