如果编写JQuery代码,它会改变元素的顺序,如果某个类型的'even'元素是'.active'?我想在活动之前移动next(odd)元素。 我应该使用.index()和.detach()方法......
语法示例 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>
答案 0 :(得分: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));
}
});
<强> DEMO 强>
答案 1 :(得分:1)
当您有:odd
和:even
时,无需检查索引(索引是零索引,因此您希望在这种情况下检查:odd
。)
var $active = $(".active");
if ($active.is(":odd")) {
$active.next().after($active);
}