在 jQuery 中解决这个问题时遇到了一些麻烦:如果它们共享同一个类,我需要将早期 UL 中 LI 的内容添加到稍后的 UL。换句话说,我在 HTML 中有以下两个列表:
<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”最终都填充了相同的内容——从“bullet-content”的第一个 li 而不是这两个 lis。我想另一个循环是有道理的,但我试图弄清楚如何。任何帮助将不胜感激。