我在 foreach 循环中有一些表行,其中有一些具有相同类的列,我的问题是如何将该列中的每个数据格式化为 ###,### (使用逗号格式化数字) JavaScript?
这是我的表结构的示例:
<tbody id="binder">
<?php foreach () { ?>
<tr id="data">
<td class="sum">400000</td>
<td class="sum">500000</td>
<td class="sum">500000</td>
<td class="sum">0</td>
<td class="sum">0</td>
<td class="sum">500000</td>
<td class="sum">500000</td>
<td class="sum">0</td>
<td class="sum">0</td>
<td class="sum">500000</td>
<td class="sum">500000</td>
<td class="sum">0</td>
<td class="sum">0</td>
<td class="sum">500000</td>
<td class="sum">500000</td>
<td class="sum">0</td>
<td class="sum">0</td>
<td class="sum">500000</td>
<td class="sum">500000</td>
<td class="sum">0</td>
<td class="sum">0</td>
<td class="sum">500000</td>
<td class="sum">500000</td>
<td class="sum">0</td>
<td class="sum">0</td>
</tr>
<?php } ?>
</tbody>
最佳答案
您可以获取具有特定类名的所有元素,然后格式化其innerHTML。下面是一个工作片段。
var allTds = document.getElementsByClassName("sum");
for (var i = 0; i < allTds.length; i++) {
allTds[i].innerHTML = allTds[i].innerHTML.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
td{
border:1px solid;
}
<table>
<tbody id="binder">
<tr id="data">
<td class="sum">400000</td>
<td class="sum">500000</td>
<td class="sum">500000</td>
<td class="sum">0</td>
<td class="sum">0</td>
<td class="sum">500000</td>
<td class="sum">500000</td>
<td class="sum">0</td>
<td class="sum">0</td>
<td class="sum">500000</td>
<td class="sum">500000</td>
<td class="sum">0</td>
<td class="sum">0</td>
<td class="sum">500000</td>
<td class="sum">500000</td>
<td class="sum">0</td>
<td class="sum">0</td>
<td class="sum">500000</td>
<td class="sum">500000</td>
<td class="sum">0</td>
<td class="sum">0</td>
<td class="sum">500000</td>
<td class="sum">500000</td>
<td class="sum">0</td>
<td class="sum">0</td>
</tr>
</tbody>
</table>
取自此答案的正则表达式引用。 https://stackoverflow.com/a/2901298/2592042
关于javascript - 如何使用javascript格式化具有相同类的表列中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36619114/