2010-04-24 105 views
2

我的字段集不顯示onclick,我做錯了什麼?JQuery顯示問題

$(document).ready(function(){ 
    $('#More').toggle(
     function() { $('#search', this).slideDown(); }, 
     function() { $('#search', this).slideUp(); }); 
}); 


<div> Item 1 <a href="#" id="More">Item 2</a> Item 3 


<fieldset id="search" style="display: none;"> 
    <form> 
     <input type="text"> 
    </form> 
</fieldset> 

</div> 
+0

在顯示的代碼中,我沒有看到字段集顯示正在從顯示更改:無 – Sunny 2010-04-24 17:35:55

回答

1

this引用事件目標,在這種情況下,在#More鏈接。把this到您$('#search', this)選擇相當於說:

$(this).find("#search") 

由於#搜尋沒有鏈接中所包含的jQuery選擇永遠適用的效果基本show或功能了slideDown。

你的代碼應該改爲如下:

$('#More').toggle(
     function() { $('#search').slideDown(); }, 
     function() { $('#search').slideUp(); } 
); 
+0

這是什麼? – Strawberry 2010-04-24 20:20:48

+0

查看修訂後的答案 – 2010-04-24 20:33:30

1

我想,也許這個問題是,你的背景設置爲this

所以如果你改變:

function() { $('#search', this).slideDown(); }, 

function() { $('#search').slideDown(); } 

它可能會開始工作...