我有两个类的链接,如下所示:
<a href="#" class="button post-12">Babylon</a>
<a href="#" class="button post-47">Sumer</a>
<a href="#" class="button post-87">Ur</a>
我不想用这些按钮来隐藏相关的帖子,例如,点击带有“post-12”类的链接会隐藏这个:
<p id="post-12">Babylon was an aicient city...</p>
为了实现这一点,我有了这个jQuery脚本。但它始终是id为“post-87”的帖子,所有三个按钮都关闭了。
var secondClass;
$('.button').each(function(){
secondClass = $(this).attr('class');
secondClass = secondClass.replace('button ','');
$(this).click(function(){
$('#'+secondClass+'').hide();
});
});
我在这里做错了什么?如何为jQuery .each函数添加闭包?
答案 0 :(得分:1)
更改secondClass声明的范围:
$('.button').each(function(){
var secondClass = $(this).attr('class');
secondClass = secondClass.replace('button ','');
$(this).click(function(){
$('#'+secondClass+'').hide();
});
});
答案 1 :(得分:-1)
我认为我们可以在你的场景中利用-data:
<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();
});