2011-03-09 44 views
0

的,我有以下的jQuery代碼,工作正常:編程設置了爲的slideToggle任意數量的項目

$(document).ready(function() { 
    $('#link1').click(function() { 
    $('.data1').slideToggle('slow'); 
    }); 
    $('#link2').click(function() { 
    $('.data2').slideToggle('slow'); 
    }); 
    /* so on a so forth */ 
}); 

LINK1是一個ID,我對周圍的超鏈接div標籤。 Data1是另一個div標籤的ID,用於在用戶單擊超鏈接時顯示的內容。我的問題是,如果我有50個甚至100個超鏈接和每個這樣的內容,將每個ID分別列出50或100次會很麻煩。

如何以編程方式執行此操作?我試着設置一個for循環,但我可能把語法搞砸了。我也嘗試使用「each()」函數。

任何幫助將不勝感激。

回答

0

最簡單的方法是爲這些類定義一個類,也是一個更好的ID。我想說的是這樣的:

<a href="#" id="link_1" class="toggle_link">Link 1 Text</a> 
<div class="data_1">Fos</div> 

<a href="#" id="link_2" class="toggle_link">Link 2 Text</a> 
<div class="data_2">Fos Fos</div> 

然後你就可以輕鬆地連接你的事件,如:

$('.toggle_link').click(function() { 
    var name=this.id.split('_'); 
    $('.data_'+name[1]).slideToggle('slow'); 
}); 

我把下劃線那裏可以很容易找到的地方開始的ID。我不會說這是生產就緒的代碼,但可以給你這個想法。

+0

工作就像一個魅力!非常感謝! – Mike 2011-03-09 17:08:29

相關問題