如何替换 .data javascript 函数中的逗号(使用 .replace)
How to replace comma inside .data javascript function (with .replace)
在对 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>
尝试以下操作:
$(".button").click(function() { // You missed the . for class here
$(".cell").each(function() { // Loop through each cell
// Set the data-number attribute
$(this).attr('data-number', $(this).attr('data-number').replace(',', ''));
});
});
这是DEMO
您应该使用 toString()
,然后使用 replace()
函数,如下所示。顺便说一句,您 html 的第一行可能是您使用 div
而不是 button
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>Click</button>
<div class="table">
<div class="cell" data-number="1,942">1,942</div>
<div class="cell" data-number="42">42</div>
<div class="cell" data-number="161">161</div>
<div class="cell" data-number="5,382">5,382</div>
<div class="cell" data-number="892">892</div>
<div class="cell" data-number="4">4</div>
<div class="cell" data-number="38">38</div>
</div>
<script>
$("button").click(function () {
var divList = $(".cell");
divList.sort(function (b, a) {
return $(a).data("number").toString().replace(/,/g, '') - $(b).data("number").toString().replace(/,/g, '');
});
$(".table").html(divList);
});
</script>
在对 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>
尝试以下操作:
$(".button").click(function() { // You missed the . for class here
$(".cell").each(function() { // Loop through each cell
// Set the data-number attribute
$(this).attr('data-number', $(this).attr('data-number').replace(',', ''));
});
});
这是DEMO
您应该使用 toString()
,然后使用 replace()
函数,如下所示。顺便说一句,您 html 的第一行可能是您使用 div
而不是 button
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>Click</button>
<div class="table">
<div class="cell" data-number="1,942">1,942</div>
<div class="cell" data-number="42">42</div>
<div class="cell" data-number="161">161</div>
<div class="cell" data-number="5,382">5,382</div>
<div class="cell" data-number="892">892</div>
<div class="cell" data-number="4">4</div>
<div class="cell" data-number="38">38</div>
</div>
<script>
$("button").click(function () {
var divList = $(".cell");
divList.sort(function (b, a) {
return $(a).data("number").toString().replace(/,/g, '') - $(b).data("number").toString().replace(/,/g, '');
});
$(".table").html(divList);
});
</script>