要素のループ内の各要素に非表示のコンテンツを表示する jQuery 関数があります。これは完全に機能しますが、問題は、新しい要素をループに追加すると機能しなくなることです。実際には一部の要素で機能し、他の要素では機能しません (奇妙な動作)。
<script type="text/javascript">
jQuery(document).ready(function($) {
$(".see_all").click(function(){
if ($(this).next().css('display') == 'none'){
$(this).next().show();
}
else
if($(this).next().is(':visible')){
$(this).next().hide();
}
});
})
</script>
jQuery コードに問題はありますか? 新しく追加された要素と以前に表示された要素の両方で機能させるにはどうすればよいですか。
HTML コード
<div class="center_container">
<%for users in @user%>
<div class="see_all">
<span style="color:#808080;cursor:pointer">See All Reviews(<%=@beep_count= (@beep.opposes.count + @beep.neutrals.count + @beep.supports.count)%>)</span>
</div>
<div style="display:none;" class="hidden">
No reviews available
</div>
<%end%>
</div>