Jquery 如何附加所有以类开头的DIV并再次重复此过程?

Jquery 如何附加所有以类开头的DIV并再次重复此过程?,jquery,Jquery,让我用代码直接解释一下: 我有: <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 clas

让我用代码直接解释一下:

我有:

<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捕获所有内容并将其放入第一个.accordion dd中

怎么了

# 编辑

我需要一个解决方案来停止手风琴循环。 我目前的情况如下: $('.accordion dd').append(函数(){ 返回$(this).closest('.accordion').nextUntil('.accordion').filter('.ctx:not('.stopLast')); });

在这种情况下,循环无法使用.stopLast停止包含元素后面的所有内容

$('.accordion').filter(function () {
    $(this).nextUntil('.accordion').filter('.ctx').appendTo($(this).find('dd'));
});
试试这个

$('.accordion').filter(function () {
    $(this).nextUntil('.accordion').filter('.ctx').appendTo($(this).find('dd'));
});
试试看

试一试


以要附加到的元素为目标,然后查找与
p.ctx
匹配的所有元素,直到下一个
.accordion

要素:

$('.accordion dd').append(function() {
    return $(this).closest('.accordion').nextUntil('.accordion').filter('p.ctx');
});

以您希望附加到的元素为目标,然后查找与
p.ctx
匹配的所有元素,直到下一个
.accordion

要素:

$('.accordion dd').append(function() {
    return $(this).closest('.accordion').nextUntil('.accordion').filter('p.ctx');
});

假设.accordion元素始终是.ctx:not(“.accordion”)的同级元素,则可以使用:

$('.ctx.accordion').each(function () {
    var $this = $(this),
        $elemsToMove = $this.nextUntil('.accordian', '.ctx');

    $this.find('dd').append($elemsToMove);
});

假设.accordion元素始终是.ctx:not(“.accordion”)的同级元素,则可以使用:

$('.ctx.accordion').each(function () {
    var $this = $(this),
        $elemsToMove = $this.nextUntil('.accordian', '.ctx');

    $this.find('dd').append($elemsToMove);
});

你想在手风琴中添加所有吗?你正在混合
nextCTX
nextCMP
。sry,修复它,c&p错误,是的,我想将所有添加到上一个手风琴中你想在手风琴中添加所有吗?你正在混合
nextctctx
nextCMP
。sry,修复它,c&p错误,是的,我想把所有的p都放到prev accordionok中,我怎样才能停止这种版本的追加过程呢?在这个例子中,我意识到没有html包含css类。stoPLast在append循环中。但问题是,每个div都包含.ctx类,它们位于手风琴内部。我想停止OK,我如何停止这种版本的追加过程?在这个例子中,我意识到没有html包含css类。stoPLast在append循环中。但问题是,每个div都包含.ctx类,它们位于手风琴内部。我想停下来