2012-02-25 102 views
0

我很难得到这个片段的工作。我做了一个小例子。您可以在线查看:http://jsfiddle.net/qnnZe/它的工作地点是为什么这个超级简单的jquery不起作用?

的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

因为在的jsfiddle DOM加载后脚本代码被执行(这是默认选项,看到下拉菜单设置为“onDomReady”),您的网页上它之前执行。

$(function() 
{ 

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

}); 
+0

为什么它在没有.ready的情况下工作? – 2012-02-25 13:26:53

+0

@pewpew你看过[jQuery文档](http://api.jquery.com/jQuery/#jQuery3)吗? – 2012-02-25 16:05:26

2

你需要用你的点击处理程序中的文件准备好功能:如果你在一个ready()处理包装你的代码会工作。

尝试之一:

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

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

前的DOM就绪时,它会执行。点击处理程序应该添加到任何普通的jQuery“ready”方法中,例如:

$(function() { 
    $("p").click(function() { 
      $(this).hide("slow"); 
    }); 
}); 
相关问题