我正在尝试制作一个表情符号表,并使用foreach循环来生成表格:
emojis = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '⚡', '✊', '✋', '✌', '✍', '❤', '⭐']
var i = 0
document.getElementById("emojiTable").innerHTML += "<table><tr>"
emojis.forEach(emoji => {
if(i == 12) {
document.getElementById("emojiTable").innerHTML += "</tr><tr>"
i = 0
}
document.getElementById("emojiTable").innerHTML += "<td>"+emoji+"</td>"
i ++
})
document.getElementById("emojiBAR").innerHTML += "</table>"
我的问题是,当我运行代码时,我得到的不是一个 12 x 6 的表格,而是一段奇怪的 HTML 代码。
<table><tbody><tr></tr></tbody></table>⚡✊✋✌✍❤⭐
我不知道是什么原因导致了这个问题。 我该如何修复它?
.innerHTML +=
- 在此处您应该提供完整的HTML代码,如果您只是这样做el.innerHTML += '<tr>'
,这会通过HTML解析器进行处理,由于它是无效的,因此将被自动完成或丢弃,所以生成的HTML代码是无效的。最好直接创建DOM节点而不生成HTML代码。 - VLAZ