让我直接用代码解释一下:
我有:
<dl class="ctx accordion">
<dt>headline<a>x</a></dt>
<dd><!----></dd>
</dl>
<p class="ctx">Lorem ipsum dolor sit amet, consetetur sadipscing elitr</p>
<p class="ctx">Lorem ipsum dolor sit amet, consetetur sadipscing elitr</p>
<p class="ctx">Lorem ipsum dolor sit amet, consetetur sadipscing elitr</p>
<dl class="ctx accordion">
<dt>headline<a>x</a></dt>
<dd><!----></dd>
</dl>
<p class="ctx">Lorem ipsum dolor sit amet, consetetur sadipscing elitr</p>
<dl class="ctx accordion">
<dt>headline<a>x</a></dt>
<dd><!----></dd>
</dl>
<p class="ctx">Lorem ipsum dolor sit amet, consetetur sadipscing elitr</p>
<p class="ctx">Lorem ipsum dolor sit amet, consetetur sadipscing elitr</p>
我想完成所有 .ctx:not('.accordion') 进入 prev .accordion dd 等等
这是我的尝试:
$('.accordion').each(function(index) {
var nextCTX = $(this).nextAll('.ctx').not('.accordion');
$(this).find('dd').append(nextCTX);
});
但它不能很好地工作。在此示例中,我使用 .ctx 捕获所有内容并将其放入第一个 .accordion dd
怎么了?
#编辑
我需要一个解决方案来停止手风琴循环。我目前的样子: $('.accordion dd').append(function() { return $(this).closest('.accordion').nextUntil('.accordion').filter('.ctx:not( ".stopLast")'); });
在这种情况下,循环不能停止包含 .stopLast 元素之后的所有内容