0
使用下面的jQuery代碼,我試圖讓JSON對象創建一個填充了所有JSON數據的新表。下面的代碼在除Firefox以外的每個瀏覽器中都能很好地工作在Firefox中,代碼確實創建了表格,但它始終跳過第一行。 (所有其餘行在FF中完美顯示。)更準確地說,在「each」方法的第一次迭代期間,代碼確實爲第一行創建了標記,併爲該標記創建了id屬性。但是,內部HTML(元素和文本)沒有附加到元素。我不明白爲什麼代碼在每個瀏覽器(包括IE8)中都能正常工作,但不是FF。誰能提供一些建議?Firefox不會在動態生成的JSON表中顯示第一行
$('#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>')
它的工作!你可以解釋爲什麼我的代碼在FF(並且只有FF)中不起作用,而你的建議呢?如果可以的話,我會投你的答案,但我還沒有名聲。謝謝。 – jake 2010-11-10 20:27:24
我只是在這裏猜測,但當你追加第一行時,HTML變得不完整,所以我認爲不同的瀏覽器試圖以不同的方式「完成」它。 (我認爲你仍然可以將其標記爲「正確答案」,即使你不能贊成) – cambraca 2010-11-10 20:30:34
謝謝,Cambraca。這就說得通了。 – jake 2010-11-10 20:36:43