2012-02-25 128 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"); 
    }); 
}); 
相關問題