0

我正在使用tinySort过滤动态创建的子 div,效果很好。但是,我还想限制排序后的子 div 的数量。例如.. 只有前 5 个排序的 div。

这是我用来排序的当前代码。

tinysort("#results > div", {
                    order: "desc",
                    attr: 'id'
    }); 

我想过使用这样的东西 if (($this).children().length < 5)

但是,我不确定如何将它整合到 tinySort 中,或者这个功能是否已经存在?

任何建议或帮助表示赞赏。

DOM 结构:

<div id="results" class="results">
 <div id="205" class="results-section">
  <div class="details">
    <h2>115</h2>
     </div>
      <div id="time">
       <h3>7</h3>
   <small>minutes</small>
  </div>
 </div>
<div id="196" class="results-section">
  <div class="details">
    <h2>115</h2>
     </div>
      <div id="time">
       <h3>7</h3>
   <small>minutes</small>
  </div>
 </div>
<div id="180" class="results-section">
  <div class="details">
    <h2>115</h2>
     </div>
      <div id="time">
       <h3>7</h3>
   <small>minutes</small>
  </div>
 </div>
</div>
4

1 回答 1

1

在我看来,你能做的最好的事情就是在排序后隐藏元素。像这样的东西

$('#results > div').tsort({
    order: "desc",
    attr: 'id'
}).filter(function (i, el) {
    return i > 4; // this way if the other elements need some other style
}).hide();

这是一个示例http://jsfiddle.net/dhirajbodicherla/9VT8g/23/


或者更简单

$('#results > div').tsort({
    order: "desc",
    attr: 'id'
}).slice(5).hide(); // strictly hide rest except first 5

第二个演示http://jsfiddle.net/dhirajbodicherla/9VT8g/24/

于 2015-05-23T21:58:30.227 回答