使用jQuery对不在HTML表中的元素进行排序

肖恩

我有一组DIV,它们像表格一样显示,但不在HTML表格中。结构是这样的:

   <div id="queryResult" style="display: block;">
   <div class="rRow">
      <div class="rCell4">Job</div>
      <div class="rCell4">Company</div>
      <div class="rCell4">Customer</div>
      <div class="rCell4">Product</div>
      <div class="rCell4">Balance</div>
   </div>
   <div class="rRow">
      <div class="rCell4 editMe">46549</div>
      <div class="hideMe coID">1</div>
      <div class="rCell4 coName">Dry Transload</div>
      <div class="rCell4">XYZ co</div>
      <div class="rCell4">39.100</div>
      <div class="rCell4">26.48550</div>
   </div>
   <div class="rRow">
      <div class="rCell4 editMe">46549</div>
      <div class="hideMe coID">1</div>
      <div class="rCell4 coName">Dry Transload</div>
      <div class="rCell4">MNOP co</div>
      <div class="rCell4">39.100</div>
      <div class="rCell4">26.48550</div>
   </div>   
   <div class="clr"></div>
</div>

显示时,它看起来像这样: 展示

所以我想要的是能够通过单击列标题或其他方式对列进行排序。我知道有像排序表这样的jQuery / JavaScript库,但是我发现的所有库都期望有HTML表。

我会咬紧牙关,只是将其切换到桌子上,还是有另一种合理(更简便)的解决方案?

阿拉什(Arash Danesh)

这是一个解决方案。我在您的html中添加了一些类以进行更多控制。

HTML:

<div id="queryResult" style="display: block;">
   <div class="rRow header">
      <div class="rCell4">Job</div>
      <div class="rCell4">Company</div>
      <div class="rCell4">Customer</div>
      <div class="rCell4">Product</div>
      <div class="rCell4">Balance</div>
   </div>
   <div class="rRow body">
      <div class="rCell4 editMe">46549</div>
      <div class="hideMe coID">1</div>
      <div class="rCell4 coName">VDry Transload</div>
      <div class="rCell4">XYZ co</div>
      <div class="rCell4">38.100</div>
      <div class="rCell4">18.48550</div>
   </div>
   <div class="rRow body">
      <div class="rCell4 editMe">46623</div>
      <div class="hideMe coID">1</div>
      <div class="rCell4 coName">Dry Transload</div>
      <div class="rCell4">MNOP co</div>
      <div class="rCell4">31.100</div>
      <div class="rCell4">29.48550</div>
   </div>
  <div class="rRow body">
      <div class="rCell4 editMe">46145</div>
      <div class="hideMe coID">1</div>
      <div class="rCell4 coName">ADry Transload</div>
      <div class="rCell4">JKH co</div>
      <div class="rCell4">42.100</div>
      <div class="rCell4">16.48550</div>
   </div>
   <div class="clr"></div>
</div>

这是一个进行排序的jQuery:

jQuery的:

$('.header').children('.rCell4').each(function(index){
  $(this).click(function(){
    var container = $('#queryResult');
    var header = $('.header');
    var cmpCols = [];
    $('.body').each(function(){
      cmpCols.push($(this).children('.rCell4').eq(index));
    });
    for(i=0; i<cmpCols.length-1; i++){
      for(j=i; j<cmpCols.length; j++){
        if(cmpCols[i].text() > cmpCols[j].text()){
          var tmp = cmpCols[i];
          cmpCols[i] = cmpCols[j];
          cmpCols[j] = tmp;
        }
      }
    }
    container.html(header);
    for(i=0; i<cmpCols.length; i++){
      container.append(cmpCols[i].parent());
    }
  });
});

工作jsFiddle示例。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用 jquery 对 html 表进行排序

使用Rails或Bootstrap对HTML表中的列进行排序?

使用jQuery对div元素进行排序?

通过拖动行使用jquery对数据表中的数据进行排序(行重新排序)

当我的列不在表和属性中时,如何使用zii.widgets.grid.CGridView进行搜索和排序?

将 HTML 表转换为 JQuery 表进行排序

使用jquery选择html表中输入元素的值

使用jQuery在HTML表中显示单独的XML元素

如何使用html中的角管有选择地对数组中的元素进行排序

使用jQuery按首个日期列对html表行进行排序

使用.sort()和.data()对IE11和Edge中的HTML元素进行排序

仅使用javaScript按日期值desc按列对HTML中的表进行排序

使用javascript按具有高,中,低值的列对html表进行排序

当{relations} _count不在数据库表中时,如何对{relations} _count进行排序

如何对从beautifulsoup抓取的html中的列表元素进行排序?

使用jQuery按字母顺序对选项元素进行排序

使用javascript用html元素对单词进行排序?

仅使用 javascript 对 html 元素进行排序的问题

使用 array.sort 从 HTML 元素对数组进行排序

如何使用 JavaScript 选择“this”元素(不在 jQuery 中)

如何在ReactJS中对HTML表进行排序

对HTML表中数组的所有值进行排序

如何使用单独的列对jQuery DataTables表进行排序?

使用JavaScript和jQuery进行表排序的问题

使用 JQuery 数据表进行自定义排序

使用jQuery从另一个元素(表)替换HTML元素中的文本

如何使用 jQuery 按字母顺序对 HTML 中的列表进行排序?

按字母顺序使用 JSON 数据对 HTML 表进行排序

使用JS对带有子项的HTML表进行排序