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

:odd当你有和时不需要检查索引:even(索引是零索引,所以你想:odd在这种情况下检查)。

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

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

于 2013-03-09T19:41:21.757 回答