jQuery parseFloat没有按预期工作

时间:2016-02-17 01:26:32

标签: javascript jquery html parsefloat

所有。我试图将字符串更改为浮点数,以便将其格式化为货币。问题是,parseFloat一直返回NaN。我错过了什么?这是JSFiddle

HTML:

<div class="value num">948572</div>
<div class="value num">34567</div>
<div class="value num"></div>

JS:

jQuery(document).ready(function($) {
  $('.value.num').each(function() {
    if( $(this).is(':empty')) {
      $(this).text('$0.00');
    } else {
      var numValue = Number.parseFloat($(this), 10);
      $(this).text('$' + (numValue / 100).toFixed(2));
    }
  });
});

2 个答案:

答案 0 :(得分:2)

如果您想使用jQuery获取html元素的文本,请使用.text()

jQuery(document).ready(function($) {
  $('.value.num').each(function() {
    if( $(this).is(':empty')) {
      $(this).text('$0.00');
    } else {
      var numValue = Number.parseFloat($(this).text(), 10);
      $(this).text('$' + (numValue / 100).toFixed(2));
    }
  });
});

答案 1 :(得分:2)

$(this)指的是.value.num元素。将其更改为:

var numValue = Number.parseFloat($(this).text());

(另外,parseFloat没有第二个参数)