如何使用jquery忽略文本元素上的特定字符?

时间:2013-11-09 12:48:01

标签: javascript jquery html

我正在尝试从包含此内容的div获取文本元素:<div class="balance"...>$500.48</div>

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

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

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

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

2 个答案:

答案 0 :(得分:3)

尝试

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

<小时/> .parseFloat()

答案 1 :(得分: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,''));