我使用tinySort来过滤动态创建的子div,效果很好。但是,我还想限制儿童divs的数量。例如..只有前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>
答案 0 :(得分: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