【发布时间】:2016-05-21 04:51:32
【问题描述】:
在对 div 列表进行排序时,我试图从提取的值中替换逗号(使用 .data)。
带逗号的值无法正确排序。如何使用替换功能正确排序 div?
<script>
$(".button").click(function(){
var divList = $(".cell");
divList.sort(function(b, a){
return $(a).data("number")-$(b).data("number")
});
$(".table").html(divList);
});
</script>
<div class="button">Click</div>
<div class="table">
<div class="cell" data-number="1,942"></div>
<div class="cell" data-number="42"></div>
<div class="cell" data-number="161"></div>
<div class="cell" data-number="5,382"></div>
<div class="cell" data-number="892"></div>
<div class="cell" data-number="4"></div>
<div class="cell" data-number="38"></div>
</div>
我试过这个:
<script>
$("button").click(function(){
var divList = $(".cell");
divList.sort(function(b, a){
return $(a).data("number").replace(/,/g, '')-$(b).data("number").replace(/,/g, '')
});
$(".table").html(divList);
});
</script>
【问题讨论】:
-
也许你需要使用
parseInt。即parseInt($(a).data("number").replace(/,/g, '')) - parseInt($(b).data("number").replace(/,/g, ''))?
标签: javascript jquery sorting replace str-replace