2015-04-05 49 views
1

我有兩個班幾個環節是這樣的:如何將閉包添加到jQuery .each函數中?

<a href="#" class="button post-12">Babylon</a> 
<a href="#" class="button post-47">Sumer</a> 
<a href="#" class="button post-87">Ur</a> 

我wan't每個按鈕的隱藏的關聯性後,例如,點擊鏈接一類的「後12 「將隱藏此:

<p id="post-12">Babylon was an aicient city...</p> 

爲了做到這一點,我有這個jQuery腳本。但它始終是標識爲「後87」的帖子,並且所有三個按鈕都關閉。

var secondClass; 
$('.button').each(function(){ 
    secondClass = $(this).attr('class'); 
    secondClass = secondClass.replace('button ',''); 
    $(this).click(function(){ 
     $('#'+secondClass+'').hide(); 
    }); 
}); 

我在這裏做錯了什麼?如何添加一個閉包到jQuery .each函數?

回答

1

變化範圍:

$('.button').each(function(){ 
    var secondClass = $(this).attr('class'); 
    secondClass = secondClass.replace('button ',''); 
    $(this).click(function(){ 
     $('#'+secondClass+'').hide(); 
    }); 
}); 
+0

這使的伎倆,感謝威爾! – 2015-04-05 23:30:16

-1

我認爲我們可以利用的 - 數據在您的情況:你的二等聲明

<a href="#" data-divid="post-12" class="button post-12">Babylon</a> 
<a href="#" data-divid="post-47" class="button post-47">Sumer</a> 
<a href="#" data-divid="post-87" class="button post-87">Ur</a> 

$('.button').click(function(){ 
    var divtoclose = $(this).data("divid"); 
    $('#'+divtoclose).hide(); 
}); 
相關問題