4

我正在尝试从div具有以下内容的文本元素中获取:<div class="balance"...>$500.48</div>

我需要的是获取500.48作为值,而不是作为字符串。

我曾经alert($(".balance").text())检查它是否正在返回内容并且确实如此,但我需要它是一个数字。我知道如果我将字符串存储在变量上并执行以下操作:

x =  $(".balance").text() ;
x = +x;

它将字符串转换为数字,所以我试图忽略$但没有成功。最好的方法是什么?

4

2 回答 2

3

尝试

var val = parseFloat($(".balance").text().replace('$',''));


.parseFloat()

于 2013-11-09T12:50:46.053 回答
1

处理任何货币符号

以下使用正则表达式,因此您的代码将适用于任何货币。

var balanceValueElementValue1 = parseFloat($('.balance').text().replace(/[^0-9\.]/g,''));

快速标记建议

您可能希望将值存放在 span 元素中,并向 value 元素添加一个标识符,以便您可以更一致、更准确地定位它。

<div class="balance">
    <span id="balance-value-1">$500.48</span>
</div>

jQuery

var balanceValueElementValue1 = parseFloat($('#balance-value-1').text().replace(/[^0-9\.]/g,''));

JavaScript

var balanceValueElement = document.getElementById("balance-value-1");
var balanceValueElementInnerText = balanceValueElement.innerText;
var balanceValueElementValue1 = parseFloat(balanceValueElementInnerText.replace(/[^0-9\.]/g,''));
于 2013-11-09T13:45:11.950 回答