javascript - '.active' 元素为 ':even' 时元素的移位顺序(JQuery)

标签 javascript jquery

如果某种类型的“偶数”元素是“.active”,如何编写 JQuery 代码来改变元素的顺序?我想在事件元素之前移动下一个(奇数)元素。 我可能应该使用 .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>

最佳答案

您可以选择性地检查奇数索引项是否具有事件类,然后将以下项移动到奇数索引项之前。

// 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

关于javascript - '.active' 元素为 ':even' 时元素的移位顺序(JQuery),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15315004/

相关文章:

javascript - javascript 中的十进制

javascript - Noty jquery/Prototype.js/Internet Explorer 8 不工作

jquery - 100% 高度 div 的视差

javascript - 将 div 表示为 Javascript 对象?

javascript - 单击后更改按钮文本

javascript - 即使存在非数字字符也要计数的数字计数器

javascript - 在传单 map 上显示json数据

php - 即使操作成功后,加载程序仍保持加载状态

javascript - 如何删除html标签和head标签之间的iframe标签?

javascript - 基于两个值的数组合并