我有
<div id="tablePlace"></div>
Run Code Online (Sandbox Code Playgroud)
和
if ($('#radioOne').is(':checked') == true) {
$("#tablePlace").html(" ");
$("#tablePlace").append(htmlTable); //htmlTable is a string that contains an html table code
loadNestedTable(temp);
}
Run Code Online (Sandbox Code Playgroud)
它有效但在div中我找到了NaN.如果我评论$("#tablePlace").append(htmlTable);,NaN不会出现.
为什么?
UPDATE
htmlValue代码:
var tab = '<table id="decretoSingolo">'+
+'<thead>'
+ '<tr>'
+ '<th>Ente</th>'
+ '<th>CUP</th>'
+ '<th>Decreto impegno</th>'
+ '<th>Data decreto impegno</th>'
+ '<th>Importo impegno</th>'
+ '<th>Finanziato MIUR</th>'
+ '<th>Importo pagato</th>'
+ '<th>Importo in pagamento</th>'
+ '</tr>'
+ '</thead>'
+ '<tbody>'
+ '</tbody>'
+'</table>'
+'<div style="display:none">'
+ '<table id="dettagliDecretoSingolo">'
+ '<thead>'
+ '<tr>'
+ '<th>Progressivo pagamento</th>'
+ '<th>Data decreto</th>'
+ '<th>Numero decreto pagamento</th>'
+ '<th>Tipo pagamento</th>'
+ '<th>Importo in pagamento</th>'
+ '<th>Nota decreto</th>'
+ '</tr>'
+ '</thead>'
+ '<tbody>'
+ '</tbody>'
+ '</table>'
+'</div>';
Run Code Online (Sandbox Code Playgroud)
htmlTable值:
<table id="myTable">NaN<tr><th>Ente</th><th>CUP</th><th>Decreto impegno</th><th>Data decreto impegno</th><th>Importo impegno</th><th>Finanziato</th><th>Importo pagato</th><th>Importo in pagamento</th></tr></thead><tbody></tbody></table><div style="display:none"><table id="myTableDetails"><thead><tr><th>Progressivo pagamento</th><th>Data decreto</th><th>Numero decreto pagamento</th><th>Tipo pagamento</th><th>Importo</th><th>Nota</th></tr></thead><tbody></tbody></table></div>
Run Code Online (Sandbox Code Playgroud)
NaN出现在.append()之后.htmlTable代码有问题吗?
问题是+你的代码中有一个一元:
var tab = '<table id="decretoSingolo">'+
+'<thead>'
// ^--- Here
Run Code Online (Sandbox Code Playgroud)
删除其中一个+.通常最好使用+前一行的末尾,以避免自动分号插入的问题.
NaN:这是一个一元,+因为它跟+在前一行的末尾,它们之间有空格(所以它不像++我最初建议的那样).
那个一元+会尝试取其操作数(跟随它的字符串)并将其转换为数字,如果无法完成则会产生NaN.然后+前一行的操作数是一个字符串和一个数字,因此加法运算符将字符串转换为数字并将其添加到NaN(产生NaN).
你可以在这里看到它:
var tab = '<table id="decretoSingolo">'+
+'<thead>'
+ '<tr>';
document.body.innerHTML = tab;Run Code Online (Sandbox Code Playgroud)
旁注:没有必要这样做.html(" "),然后.append(htmlTable)就是这么做.html(htmlTable).
| 归档时间: |
|
| 查看次数: |
409 次 |
| 最近记录: |