为什么这个超级简单的jquery不起作用?

时间:2012-02-25 01:40:22

标签: javascript jquery

我很难让这个代码段工作。我做了一个很小的例子。您可以在线查看:http://jsfiddle.net/qnnZe/ 正在工作!

的test.html

<!DOCTYPE html>
<head>
    <title>test</title>
    <meta charset="utf-8">
    <script src="jquery.min.js"></script>
    <script src="test.js"></script>
</head>
<body>
    <p>I am going to test right now.</p>
</body>
</html>

test.js

$("p").click(function () {
      $(this).hide("slow");
});

但是,我的服务器上的无效。这是指向我服务器的链接:http://techinf.de/sleepytime/test.html

一如既往,任何帮助表示赞赏。

3 个答案:

答案 0 :(得分:3)

因为在jsFiddle中你的脚本代码在DOM加载后执行(这是默认选项,请参阅设置为“onDomReady”的下拉列表),在页面之前它已经执行了。如果将代码包装在ready()处理程序中,它将起作用:

$(function()
{

 $("p").click(function () {
      $(this).hide("slow");
  });

});

答案 1 :(得分:2)

您需要将单击处理程序包装在文档就绪函数中。

尝试:

$(document).ready(function () {
    $("p").click(function () {
          $(this).hide("slow");
    });
});

$(function () {
    $("p").click(function () {
          $(this).hide("slow");
    });
});

答案 2 :(得分:1)

它将在DOM准备好之前执行。点击处理程序应该添加到任何常规的jQuery“ready”方法中,例如:

$(function() {
    $("p").click(function () {
          $(this).hide("slow");
    });
});