javascript - 如何使用 javascript 按编号类对 div 进行排序?

标签 javascript jquery

<pre>
    <div>
      <div class="abc grid-row">
        <div class="grid-cell position_2">
            <img src="#">
        </div>
        <div class="grid-cell position_1">
            <img src="#">
        </div>
      </div>
      <div class="abc grid-row">
        <div class="grid-cell position_2">
            <img src="#">
        </div>
        <div class="grid-cell position_3">
            <img src="#">
        </div>
        <div class="grid-cell position_1">
            <img src="#">
        </div>
      </div>
      <div class="def grid-row">
        <div class="grid-cell position_2">
            <img src="#">
        </div>
        <div class="grid-cell position_1">
            <img src="#">
        </div>
      </div>
    </div>
</pre>

我想遍历每个网格行以按位置类按数字顺序对子 div 进行排序。因此,position_1 始终是每个网格行中的第一个子 div。

当我尝试使用 jQuery 执行此操作时,子 div 被排序到其他行中,这是我需要阻止的。我怎样才能实现这个目标?

最佳答案

在每个grid-row内的grid-cell上使用sort

$('.grid-row').each(function() {
  var cells = $('.grid-cell', this).sort(function(a, b) {
    return parseInt(a.className.match(/[0-9]+/)[0]) > parseInt(b.className.match(/[0-9]+/)[0]);
  });
  $(this).html(cells);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div>
  <div class="abc grid-row">
    <div class="grid-cell position_2">
      2
    </div>
    <div class="grid-cell position_1">
      1
    </div>
  </div>
  <div class="abc grid-row">
    <div class="grid-cell position_2">
      2
    </div>
    <div class="grid-cell position_3">
      3
    </div>
    <div class="grid-cell position_1">
      1
    </div>
  </div>
  <div class="def grid-row">
    <div class="grid-cell position_2">
      2
    </div>
    <div class="grid-cell position_1">
      1
    </div>
  </div>
</div>

关于javascript - 如何使用 javascript 按编号类对 div 进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35940686/

相关文章:

jQuery 隐藏/显示(带有修改的 id 属性的 div)

jquery - Owl轮播动态数据与json绑定(bind)

javascript - 是否可以在文本区域中索引输入的文本?

javascript - 将点击事件绑定(bind)到动态创建的按钮,无需选择器

javascript - JQuery 添加(数学)输入值

javascript - iOS Javascript Workers终止()后CPU占用率过高

javascript - jQuery 验证不适用于动态附加表单

运行时的 Javascript 前端配置

javascript - HTML 表单操作是前置值而不是附加值

javascript - 如何更改 Click MVC 上的按钮文本?