4

divこのコンテンツを持つからテキスト要素を取得しようとしています:<div class="balance"...>$500.48</div>

必要なのは500.48、文字列としてではなく、値として取得することです。

以前alert($(".balance").text())はコンテンツが返されているかどうかを確認していましたが、それは数値である必要があります。文字列を変数に保存してこれを行うと、次のようになります。

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

文字列を数値に変換するので、無視しようとしました$が、成功しませんでした。それを行う最良の方法は何ですか?

4

2 に答える 2

1

あらゆる通貨記号を処理

以下では正規表現を使用しているため、コードはどの通貨でも機能します。

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

クイック マークアップの提案

値を span 要素内に格納し、値要素に識別子を追加して、より一貫して正確にターゲットにできるようにすることをお勧めします。

<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 に答える