首页 > 解决方案 > 我需要选择所有类并像货币 Jquery 一样显示它们

问题描述

我需要选择所有类并像货币一样显示它们。它还需要像函数一样显示。每次我添加一些数据时都需要更新。我尝试了很多东西,没有任何帮助。

我现在需要用每个. 我得到一个错误toFixed is not a function

$('.dashboard__currency').each(function(){
    return $(this).text().toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');
});

有什么解决办法吗?

标签: javascriptjquery

解决方案


这里有两个问题。首先,您得到的错误是因为text()返回一个字符串,但toFixed()它是一个数字类型的方法。第二个问题是语句中的 areturn不会each()更新元素的内容。

要解决此问题,您可以使用parseFloat()将字符串转换为数字,还可以提供一个函数text(),然后返回新值。这消除了显式each()调用的需要。尝试这个:

$('.dashboard__currency').text((i, t) => parseFloat(t).toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<span class="dashboard__currency">10205.99</span><br />
<span class="dashboard__currency">15232323.00</span><br />
<span class="dashboard__currency">193235</span>


推荐阅读