2011-04-14 59 views
0

我有一個地區和相應的國家..當我點擊一個地區,列表應該擴大,而摺疊所有其他地區的列表。另外,當我再次點擊相同的區域時,它應該切換。 但在我的情況下,每件事情都正常工作,除了切換功能在第一次點擊時無法正常工作。jQuery切換不正常

$(document).ready(function(){ 
$("tbody[id*='titl']").live('click',function(){  
    var nextId = ('#' + $(this).next("tbody[id*='tbod']").attr('id')); 
    $("tbody[id*='tbod']").each(function(){ 
    var hideId = ('#' + $(this).attr('id'));  
    if(nextId != hideId) 
    { 
     $(hideId).hide();  
    } 
    else 
    {   

     $(hideId).toggle(); 
    } 

}); 
}); 
+0

能否請你創建一個http://jsfiddle.net/例子嗎? – 2011-04-14 10:06:35

+1

向我們展示您的HTML。 – 2011-04-14 10:07:02

+0

HTML非常複雜......它由服務器呈現,並且非常動態.. – Misam 2011-04-14 10:20:21

回答

1

雖然你計算nextID與上下文tbody[id*='titl']選擇但畢竟這當你調用$("tbody[id*='tbod']").each(function()是一個匹配的元素搜索整個DOM。

你應該寫:$(this).next("tbody[id*='tbod']").each(function(){讓您正在搜索附近的元素到現場tbody元素