2012-03-03 130 views
1

jQuery的:爲什麼不是這個簡單的jQuery工作?

<script type="text/javascript" 
    src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"/> 
$(document).ready({ 
    $(".title").click(function(){ 
     var descID = $(this).attr("id"); 
     var newID = "#"+descID+"d"; 
     $(newID).slideToggle('slow'); 
    }); 
}); 

HTML:

<span id="3" class="title">title</span> 
<span id="3d" class="description">description</span> 

CSS:

.description { 
    display: none; 
} 

不是一個jQuery/JavaScript的專家。我錯過了什麼?我試圖讓適當的description滑動切換,同時點擊正確的title。現在我沒有看到任何事情發生。

+0

哈哈,是的錯字。感謝您的發現。 – n0pe 2012-03-03 16:01:33

+2

這實際上正是你的HTML看起來的樣子,那個自動關閉的''並自動關閉腳本標籤。謝謝你。 – n0pe 2012-03-03 16:11:53

+0

jQuery腳本標記被關閉了嗎?與'/>'。另一個腳本標記確實缺失。好點的:) – RvdK 2012-03-03 22:06:38

+0

@PoweRoy一些瀏覽器不會處理一個自動關閉腳本標記。這個標準,包括HTML 4和HTML 5,都表明需要關閉''標籤。 – tvanfosson 2012-03-03 22:52:27

5

你失蹤後的函數:$(文件)。就緒(

應該是:

<html> 
<head> 
... 
    <style type="text/css"> 
     .description { 
      display: none; 
     } 
    </style> 
</head> 
<body> 
<span id="3" class="title">title</span> 
<span id="3d" class="description">description</span> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $(".title").click(function() { 
      var descID = $(this).attr("id"); 
      var newID = "#" + descID + "d"; 
      $(newID).slideToggle('slow'); 
     }); 
    }); 
</script> 
</body> 
</html> 
+0

我添加了'function()',當點擊'title'時我還沒有看到任何事情發生。我也改變了我的'身份證',以便他們以字母而不是數字開頭。 – n0pe 2012-03-03 16:06:17

+0

@MaxMackie嘗試我剛剛更新的示例。 – ebaxt 2012-03-03 16:07:33

1

你忘了function()部分和開閉腳本標記,爲別人指出。 。

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $(".title").click(function(){ 
      var descID = $(this).attr("id"); 
      var newID = "#"+descID+"d"; 
      $(newID).slideToggle('slow'); 
     }); 
    }); 
</script> 

測試您的網站在這裏:jsfiddle

+0

奇怪。它在jsfiddle中完美工作,但相同的代碼無法在我的網站上工作。謝謝。 – n0pe 2012-03-03 16:08:32

+0

的確我錯過了,你忘了你的jQuery代碼周圍的標籤 – RvdK 2012-03-03 22:04:21

0

您需要傳遞一個函數以準備好,並且您意外傳遞了一個對象文字。

您可以使用此玩弄的例子(我愛的jsfiddle!) http://jsfiddle.net/hmdrP/

還有一個快捷方式,$(function() { ... })這是等價的。

相關問題