解析html td返回NaN
Parse html td is returning NaN
我有这段代码,parseFloat将不起作用。它返回NaN。有什么想法吗!value变量返回字符串(这是一个数字),但问题出在解析的变量中:var pv=parseFloat(value);。pv返回NaN。
html表格:
var Er1 = '<div><table Id="AEid" width="85%" border="3"><tbody>' +
'<tr><th><b>AM1</b></th><th><b>AM2</b></th><th><b>Total</b></th></tr>' +
'<tr><td >2</td><td rowspan="1">3</td><td rowspan="1"></td></tr>' +
'<tr><td rowspan="1"></td><td rowspan="1"></td><td rowspan="1"></td></tr>' +
'</tbody></table></div>';
//-------------
$newDiv = $(Er1);
var rows = $newDiv.find('tr')
rows.each(function (idx, item) {
if (idx > 0) {
var sum = 0;
var cols = $(item).children('td')
for(var i=0;i<cols.length -1;i++){
var value = $(cols[i]).text();
value = value.trim();
var pv = parseFloat(value);
sum = sum + pv;
alert("i: " + i +"'n Value: " + value +"'n sum: " + sum + "'n parsedValue: " + pv);
}
}
更改此行:
var cols = $(item).children('td');
至
var cols = $(item).children('td:not(:empty)');
或者你也可以这样做,
value = value.trim();
if(value == "") value = 0;
这是因为:parseFloat('')=>NaN;
只需修改这行代码:var pv=parseFloat(value);
通过这个:var pv=(value!='')?parseFloat(值):0;
它返回NaN,因为当您解析td
时,它返回一个空字符串。在我的fiddle中,你可以看到一个简单的条件语句,它检查是否没有值,并为其赋值0。
if (!value) value = 0;
相关文章:
- 如何防止Math.max()返回NaN
- 尝试求和时,在我的表的页脚中返回$NaN
- 为什么Math.pow(1,无穷大)返回NaN
- JavaScript:返回NaN(第2部分)
- 为什么这个代码返回NaN
- Protractor-分配给element.all.locator.count的变量返回NaN why
- javascript 在求和时返回 NaN
- 来自函数 Javascript 的 NaN 返回值 ||函数执行顺序
- 返回“[对象对象] NaN” - Javascript
- 返回为 NaN 的值
- 计算地理位置距离返回 NaN
- Javascript函数返回'NaN'或者'未定义'
- nan在C++中是什么意思?为什么pow(-4,-2.1)返回-nan
- 货币字段上的 parseInt 返回 NaN
- Javascript:解析csv中的字符串返回NaN(不是数字)
- JS脚本返回NaN
- 我如何才能得到返回'0'而不是NaN
- 解析html td返回NaN
- Javascript函数返回NaN
- 为什么angular.isNumber(NaN)返回true ?