use*_*765 1 html javascript jquery
我有一个 ajax 函数,它实际上每 3 分钟从服务器中提取一次 message_count 数据,并相应地更新每个玩家的属性......现在我想在这个 ajax 调用之后根据 message_count 属性值按降序自动对 div 进行排序。 ..所以收到更多消息的玩家将作为第一个div出现。
var sortedDivs = jQuery(".players").find(".player").toArray().reverse(sorter);
jQuery.each(sortedDivs, function(index, value) {
jQuery(".players").append(value);
});
function sorter(a, b) {
return a.getAttribute('message_count') - b.getAttribute('message_count');
};Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="players">
<div class="player" message_count="8">8</div>
<div class="player" message_count="2">2</div>
<div class="player" message_count="0">0</div>
<div class="player" message_count="1">1</div>
</div>Run Code Online (Sandbox Code Playgroud)
使用 jquery.sort很容易做到
var players = $(".players div");
var temp = players.sort(function(a,b){
return parseInt($(b).attr("message_count")) - parseInt($(a).attr("message_count"));
});
$(".players").html(temp);Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="players">
<div class="player" message_count="8">Div 8</div>
<div class="player" message_count="2">Div 2</div>
<div class="player" message_count="0">Div 0</div>
<div class="player" message_count="1">Div 1</div>
</div>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1848 次 |
| 最近记录: |