1

特定のタイプの「偶数」要素が「.active」である場合、要素の順序をシフトするJQueryコードを作成する方法は?アクティブな要素の前に次の(奇数)要素を移動したい。おそらく.index()メソッドと.detach()メソッドを使用する必要があります…</ p>

構文例 http://jsfiddle.net/Tymek/M6qFM/

<div id="wrap">
    <div class="element">1. Pierwszy</div>
    <div class="element">2. Drugi</div>
    <div class="element">3. Trzeci</div>
    <div class="element active">4. Czwarty</div> <!-- 4 is even -->
    <div class="element">5. Piąty</div> <!-- then move this up -->
    <div class="element">6. Szósty</div>
    <div class="element">7. Siódmy</div>
</div>
4

2 に答える 2

2

奇数インデックスのアイテムにアクティブクラスがあるかどうかを選択的に確認してから、次のアイテムを奇数インデックスのアイテムの前に移動できます。

// For each of the odd index elements
$('.element').filter(':odd').each(function(index, element) {
    // If the element has the active class
    if ($(element).hasClass('active')) {
        // Get the next element and move it before the active element
        $(element).next().insertBefore($(element));
    }
});

デモ

于 2013-03-09T19:47:22.593 に答える
1

:oddandがある場合はインデックスをチェックする必要はありません:even(インデックスはゼロインデックスであるため:odd、この場合はチェックする必要があります)。

var $active = $(".active");
if ($active.is(":odd")) {
    $active.next().after($active);
}

http://jsfiddle.net/M6qFM/1/

于 2013-03-09T19:41:21.757 に答える