当前位置: 首页 > 面试题库 >

在jQuery中基于属性“数据排序”对div进行排序?

居焱
2023-03-14
问题内容

如果我有几个股利:

<div data-sort='1'>div1</div>
<div data-sort='4'>div4</div>
<div data-sort='8'>div8</div>
<div data-sort='12'>div12</div>
<div data-sort='19'>div19</div>

我动态创建div:

<div data-sort='14'>div1</div>
<div data-sort='6'>div1</div>
<div data-sort='9'>div1</div>

如何才能使它们仅按顺序排序到已加载的div中,而不必重新加载所有div?

我认为我需要在屏幕上构建一个所有div的数据排序值的数组,然后查看新div的位置,但是我不确定这是否是最佳方法


问题答案:

使用这个功能

   var result = $('div').sort(function (a, b) {

      var contentA =parseInt( $(a).data('sort'));
      var contentB =parseInt( $(b).data('sort'));
      return (contentA < contentB) ? -1 : (contentA > contentB) ? 1 : 0;
   });

   $('#mylist').html(result);

您可以在添加新的div后立即调用此函数。

如果要在div中保留javascript事件,请不要像上面的示例一样使用html replace。而是使用:

$(targetSelector).sort(function (a, b) {
    // ...
}).appendTo($container);


 类似资料:
  • 问题内容: 我有一个对象,有时我需要添加其他对象。 我想在此之后进行排序。我不想获取所有键和值,将它们与之排序,然后将其全部放入一个新对象。有没有更好的办法? 问题答案: 不,扩展不能为键或值定义可预测的排序顺序。 您可以尝试将所有值转储到诸如之类的东西中,这将对键施加自然排序。

  • 我有一个对象,有时需要向其添加其他。 我想在此之后对进行排序。我不想获取所有键和值,用对它们进行排序,然后将它们全部放入一个新对象。有更好的办法吗?

  • 例如,我有以下数据集: 我需要根据数组中的条件对数组进行排序。我最终得出了这样的解决方案: 但我无法理解如何使用数组而不是硬编码的和属性。数组可以有许多属性。

  • 问题内容: 我有一个对象的ArrayList。该对象包含属性和。所以我想对上的对象进行排序,对于同一日期的所有对象,我想对其进行排序。我怎样才能做到这一点? 问题答案: 实施自定义,然后使用。它可能看起来像这样:

  • 问题内容: 我想按属性排序。这是我的代码… 现在我想按属性将其排序,例如在另一个活动中。但是我不知道该怎么做。有人知道吗? 问题答案: 您需要实现,例如: 然后像这样排序:

  • 你知道为什么在对我的应用程序进行去压缩时,我的地址对象的属性顺序会发生变化吗?我需要检查它存储在数据库中的地址是否等于来自前端的地址。我正在使用对象映射器将对象转换为文本,以便我可以比较2个字符串,但由于这种情况,我总是得到假,因为顺序发生了变化,正如您在下面的图片中看到的那样。