在我的 JS 代码中,我使用以下方法在我的网页上显示表格:
function display(data) {
var photoUrls = data.photoUrls;
var tbl=$("<table/>").attr("id","mytable");
for(var i=0;i<photoUrls.length;i++)
{
console.log("single row: "+photoUrls[i]);
var row = "<tr><td>"+photoUrls[i]+"</td></tr>";
$("#mytable").append(row);
}
var outcome = "<h4>Photo URLs:</h4>";
$('#feedback').html(outcome+tbl);
}
而不是看到表格,我看到的是:
Photo URLs:
[object Object]
这很奇怪,因为控制台日志在控制台中向我显示了适当的名称,所以我希望它能够正确显示表格。那我的代码有什么问题?
在您的 中console.log
,您正在连接字符串。在最后一行中,您尝试+
在字符串和对象之间使用。这会导致对象通过.toString()
. 对象通常字符串化为“[object Object]”。
最简单的解决方法(虽然不一定是最好的)是改用这个:
function display(data) {
var photoUrls = data.photoUrls;
var tbl=$("<table/>").attr("id","mytable");
for(var i=0;i<photoUrls.length;i++)
{
console.log("single row: "+photoUrls[i]);
var row = "<tr><td>"+photoUrls[i]+"</td></tr>";
tbl.append(row); /* fix 1 */
}
var outcome = "<h4>Photo URLs:</h4>";
$('#feedback').append(outcome).append(tbl); /* fix 2 */
}
#mytable
文档中不存在因此$('#mytable')
产生一个空的 jQuery 集合,所以尾随.append()
没有实现任何东西。(当对空集合执行操作时,jQuery 通常不会失败,因此这可以让新开发人员措手不及。)
与其尝试连接字符串,不如直接将它们附加到目标。(jQuery 有一些魔法,所以它通常可以接受字符串、元素或 jQuery 集合。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句