当前位置:  开发笔记 > 编程语言 > 正文

.html()jQuery函数返回NaN

如何解决《.html()jQuery函数返回NaN》经验,为你挑选了1个好方法。

我有

if ($('#radioOne').is(':checked') == true) {
         $("#tablePlace").html(" ");
         $("#tablePlace").append(htmlTable); //htmlTable is a string that contains an html table code
         loadNestedTable(temp);
    }

它有效但在div中我找到了NaN.如果我评论$("#tablePlace").append(htmlTable);,NaN不会出现.

为什么?

UPDATE

htmlValue代码:

var tab = ''+
+'' 
+   ''
+       ''
+       ''
+       ''
+       ''
+       ''
+       ''
+       ''
+       ''
+   ''
+ ''
+   ''
+   ''
+'
EnteCUPDecreto impegnoData decreto impegnoImporto impegnoFinanziato MIURImporto pagatoImporto in pagamento
' +'
' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '
Progressivo pagamentoData decretoNumero decreto pagamentoTipo pagamentoImporto in pagamentoNota decreto
' +'
';

htmlTable值:

NaN
EnteCUPDecreto impegnoData decreto impegnoImporto impegnoFinanziatoImporto pagatoImporto in pagamento
Progressivo pagamentoData decretoNumero decreto pagamentoTipo pagamentoImportoNota

NaN出现在.append()之后.htmlTable代码有问题吗?



1> T.J. Crowder..:

问题是+你的代码中有一个一元:

   var tab = ''+
   +'' 
// ^--- Here

要解决这个问题:

删除其中一个+.通常最好使用+前一行的末尾,以避免自动分号插入的问题.

为什么你得到NaN:

这是一个一元,+因为它跟+在前一行的末尾,它们之间有空格(所以它不像++我最初建议的那样).

那个一元+会尝试取其操作数(跟随它的字符串)并将其转换为数字,如果无法完成则会产生NaN.然后+前一行的操作数是一个字符串和一个数字,因此加法运算符将字符串转换为数字并将其添加到NaN(产生NaN).

你可以在这里看到它:

var tab = '
'+ +'' + ''; document.body.innerHTML = tab;
推荐阅读
跟我搞对象吧
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有