2015-05-23 68 views
0

我使用tinySort過濾動態創建的子div,這很好。但是,我也想限制遊戲的子女數量。例如..只有前5個排序的div。使用tinySort限制Child div?

這是我用來排序的當前代碼。

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

我想用這樣的事情if (($this).children().length < 5)

,但是,我不確定如何incoorperate成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> 

回答

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/

+1

感謝Dhiriaj那會有訣竅。謝謝 – Yonkee