ここで簡略化したバージョンを作成しました: http://jsfiddle.net/Y5zYy/
リストの n 番目の表示項目に別の CSS スタイルを追加しようとしているので、たとえばユーザーが group2 をクリックすると、そのグループの 3 番目の項目が黒くなります (番号 4)。リスト全体の 3 番目の項目である 2 番目の項目が黒くなります。
仕組みは次のとおりです。各グループをクリックすると、そのグループのアイテムに「可視」というクラスが追加されます。次に、クリックするたびにJavaScriptに可視アイテムをカウントさせ、その数に関係なくn番目の可視アイテムにスタイルを追加します。リスト全体で。
HTML:
<ul>
<li class="g1">1</li>
<li class="g1 g2">2</li>
<li class="g1 g2">3</li>
<li class="g1 g2">4</li>
<li class="g1 g2">5</li>
<li class="g1 g2">6</li>
<li class="g1 g2">7</li>
<li class="g1 g2">8</li>
<li class="g1 g2">9</li>
<li class="g1 g2 g3">10</li>
<li class="g1 g2 g3">11</li>
</ul>
<a id="g1" href=#>Group1</a>
<a id="g2" href=#>Group2</a>
<a id="g3" href=#>Group3</a>
JS:
$(window).load(function(){
$('li:nth-of-type(3)').css({
"background-color":"#000",
"font-weight":"bold",
})
$("li").addClass("visible");
$("a").click(function() {
$("li").removeClass("visible");
$('li').css({
"background-color":"red"
})
$(this).each(function() {
$("." + $(this).attr('id')).addClass("visible");
});
if( $('li.visible').length > 3 ){
$('li:nth-of-type(3)').css({
"background-color":"#000",
"font-weight":"bold",
})
}
});
});//]]>