jQuery でこれを理解するのに問題があります。同じクラスを共有している場合、以前の UL の LI から後の UL にコンテンツを追加する必要があります。つまり、HTML には次の 2 つのリストがあります。
<ul id="bullet-content">
<li class="shared-class-1">
<h3>First Title</h3>
<p>First Content</p>
</li>
<li class="shared-class-2">
<h3>Second Title</h3>
<p>Second Content</p>
</li>
</ul>
その後:
<ul class="bullets">
<li class="shared-class-1">
<h3 class="bullet-title">#</h3>
<p class="bullet-content">#</p>
</li>
<li class="shared-class-2">
<h3 class="bullet-title">#</h3>
<p class="bullet-content">#</p>
</li>
</ul>
「bullet-content」から「bullets」にコンテンツを転送するには、次の jQuery を使用します (また、li がクラス名を共有するかどうかに応じて、「アクティブな」クラスを追加または削除します)。
$('.bullets li').each( function(j) {
var classes = this.className.split(/\s+/);
for (var j=0,len=classes.length; j<len; j++){
var bulletDisplay = $('#bullet-content li');
var bulletContentTitle = $(bulletDisplay).find('h3').html();
var bulletContentBody = $(bulletDisplay).find('p').html();
if ($(bulletDisplay).hasClass(classes[j])){
$(this).addClass('active');
$(this).find('h3').html(bulletContentTitle);
$(this).find('p').html(bulletContentBody);
} else {
$(this).removeClass('active');
}
}
});
この種の作品ですが、両方の .bullets li に同じコンテンツが取り込まれてしまいます。つまり、両方の lis からではなく、bullet-content の最初の li からです。別のループが理にかなっていると思いますが、その方法を理解しようとしています。どんな助けでも大歓迎です。