繁体   English   中英

Firefox不会在动态生成的JSON表中显示第一行

[英]Firefox won't display first row in a dynamically generated JSON table

使用下面的jQuery代码,我试图使用JSON对象来创建一个填充了所有JSON数据的新表。 以下代码在除Firefox之外的所有浏览器中均能完美运行。 在Firefox中,代码确实创建了表,但是始终跳过第一行。 (所有其余行均以FF完美显示。)更准确地说,在“每个”方法的第一次迭代过程中,代码确实为第一行创建了标签以及该标签的id属性。 但是,内部HTML(元素和文本)都不会附加到元素。 我不明白为什么代码可以在所有浏览器(包括IE8)中运行,但不能在FF中运行。 谁能提供一些建议?

$('#mydiv').append('<table><thead><th>Activity</th><th>Category</th><th>Deadline</th><th>Status</th></thead><tbody>')

$(json).each(function(i) {
    $('#mydiv tbody')
        .append("<tr id='" + json[i].id + "'></tr>")
        .children("'#" + json[i].id + "'")
            .append("<td class='activity'>"  + json[i].activity + "</td>")
            .append("<td class='category'>"  + json[i].category  + "</td>")
            .append("<td class='deadline'>"  + json[i].deadline  + "</td>")
            .append("<td class='status'>"    + json[i].status    + "</td>")
})
$('#mydiv').append('</tbody></table>')

试试这个(不确定它是否可以工作。)

$('#mydiv').append('<table><thead><th>Activity</th><th>Category</th><th>Deadline</th><th>Status</th></thead><tbody></tbody></table>')

$(json).each(function(i) {
    $('#mydiv tbody')
        .append(
            $("<tr />").attr("id", json[i].id)
            .append("<td class='activity'>"  + json[i].activity + "</td>")
            .append("<td class='category'>"  + json[i].category  + "</td>")
            .append("<td class='deadline'>"  + json[i].deadline  + "</td>")
            .append("<td class='status'>"    + json[i].status    + "</td>")
        )
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM