从DOM中抓取浮点值

时间:2013-08-05 18:50:18

标签: javascript jquery html css

我的页面上有以下元素:

<div id="price">$8.00</div>

我希望能够将值8.00分配给JavaScript变量,以便我可以对其执行数学运算(特别是8.00 * .2),然后想要获取新数字并将其放在下一个在原始数字上,只对原始数字应用直通。所以结果看起来像这样:

$ 8.00 $ 1.60(其中“$ 8.00”已申请text-decoration:line-through。)

我已经能够找出数学并重置文本,但是我需要帮助弄清楚如何拍摄显示的内容,并将其值赋值给变量。我正在使用jQuery。任何帮助表示赞赏。

4 个答案:

答案 0 :(得分:5)

$('#price').text()会为您提供文字。从那里,您可以使用parseFloat()来获取号码。但是,你有一个$,所以你也需要子串。

var price = parseFloat($('#price').text().trim().substr(1));

答案 1 :(得分:2)

您可以使用正则表达式查找数字并使用它,或者您可以获取所有信息和parseFloat,这将只返回数字...或者,如果您可以修改您的HTML,您可以做到

<div id="price">$<span id="actual_price">8.00</span></div>

答案 2 :(得分:2)

parseFloat($('#price').text())会将数字作为浮点数给出。 但是,如果您想获得变量,则必须使用var来分配变量。 此外,您需要使用子字符串来获取8.00,或者变量将是NaN

答案 3 :(得分:2)

HTML

<div id="price">$8.00</div>

的jQuery

var price = $('#price').text().substring(1);
  newPrice = price * 0.2;
  newText = '<span>$' + price + '</span> $' + newPrice;
$('#price').html(newText);

CSS

#price span { text-decoration: line-through; }