我有一个页面,里面有几个带数字的HTML文本字符串,假设一个是123.20。所有这些都被封闭在带有"钱"类的div 中的第三级。我想使用 JS 将它们全部更改为 $123.20格式(每个数字都不同)。
我不能将"钱"类包含在除下面显示的第一个div 之外的任何其他div 中。我无法将其格式化到后端(即使我很想这样做)。
我不知道从哪里开始。
这是当前 HTML 的一个示例。
<div class="elementor-element elementor-element-11138f85 elementor-widget__width-auto money elementor-widget elementor-widget-text-editor" data-id="11138f85" data-element_type="widget" data-widget_type="text-editor.default">
<div class="elementor-widget-container">
<div class="elementor-text-editor elementor-clearfix">123.20</div>
</div>
</div>
这是我需要显示的内容:
<div class="elementor-element elementor-element-11138f85 elementor-widget__width-auto money elementor-widget elementor-widget-text-editor" data-id="11138f85" data-element_type="widget" data-widget_type="text-editor.default">
<div class="elementor-widget-container">
<div class="elementor-text-editor elementor-clearfix">$123<sup>.20</sup></div>
</div>
</div>
下面是使用split()
的示例
// find all the elements with your `money` class
var elements = document.getElementsByClassName('money')
// loop through all the `money` elements
for (var i = 0; i < elements.length; i++) {
// split the money value into two parts (before the decimal and after)
var amounts = elements[i].innerHTML.split('.')
// update the content to your formatted version
elements[i].innerHTML = amounts[0] + '<sup>.' + amounts[1] + '</sup>'
}
国际机场数字格式 - MDN
var number = 123456.789;
console.log(new Intl.NumberFormat('tr-TR', { style: 'currency', currency: 'TRY' }).format(number));
输出
₺123.456,79
对于欧元:
var number = 1500;
let numCurrency = new Intl.NumberFormat('eu-EU', { style: 'currency', currency: 'EUR' }).format(number);
console.log(numCurrency);
源: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat