【发布时间】:2018-01-08 09:56:29
【问题描述】:
我正在尝试使用innerHTML 在javascript 中构建一个动态表。
当 Web 应用程序运行时,它只打印 console.log,但不构建表。
我尝试了两种方法:
第一:
success: function (data, status, jqXHR) {
$.each(data, function (index, dati) {
console.log(dati)
var html = "<table width=\'450\' bgcolor=\'white\' border=\'2\' bordercolor=\'black\' cellpadding=\'10\' cellspacing=\'1\'>\n" +
" <tr style=min-width:850px>\n" +
" <td>dati.codiceCOmmessa </td>\n" +
" <td>dati.commessaMainSub</td>\n" +
" <td>dati.settoreCliente</td>\n" +
" <td>dati.nomeCliente</td>\n" +
" <td>dati.titoloQuals</td>\n" +
" <td>dati.keyWordsTopic</td>\n" +
" <td>dati.keyWordsActivities</td>\n" +
" <td>dati.anno</td>\n" +
" <td>dati.dataInizio</td>\n" +
" <td>dati.dataFine</td>\n" +
" <td>dati.referente</td>\n" +
" <td>dati.referenteDoc</td>\n" +
" <td>dati.sviluppatore</td>\n" +
" <td>dati.path</td>\n" +
" </tr>\n" +
"</table>"
html.innerHTML;
})
},
第二:
(使用 body.innerHTML 或 node.innerHTML,应用会出错):
success: function (data, status, jqXHR) {
$.each(data, function (index, dati) {
console.log(dati)
innerHTML = "<table width=\'450\' bgcolor=\'white\' border=\'2\' bordercolor=\'black\' cellpadding=\'10\' cellspacing=\'1\'>\n" +
" <tr style=min-width:850px>\n" +
" <td>dati.codiceCOmmessa </td>\n" +
" <td>dati.commessaMainSub</td>\n" +
" <td>dati.settoreCliente</td>\n" +
" <td>dati.nomeCliente</td>\n" +
" <td>dati.titoloQuals</td>\n" +
" <td>dati.keyWordsTopic</td>\n" +
" <td>dati.keyWordsActivities</td>\n" +
" <td>dati.anno</td>\n" +
" <td>dati.dataInizio</td>\n" +
" <td>dati.dataFine</td>\n" +
" <td>dati.referente</td>\n" +
" <td>dati.referenteDoc</td>\n" +
" <td>dati.sviluppatore</td>\n" +
" <td>dati.path</td>\n" +
" </tr>\n" +
"</table>"
})
}
谁能帮我告诉我我做错了什么?
【问题讨论】:
-
dati.keyWordsTopic是变量,试试" <td>"+ dati.keyWordsTopic+"</td>\n" + -
您需要将您创建的字符串写入某处,这意味着您需要调用元素的
.innerHTML才能将其实际写入页面。 -
所有数据都是变量
-
您已添加“
dati.titoloQuals ”元素值是变量...您需要:“”+ dati.titoloQuals +“ "。 -
html是一个字符串,那么您希望在html.innerHTML;行中发生什么?
标签: javascript html-table innerhtml