Javascript 循环遍历列表不起作用

标签 javascript loops

我正在尝试制作一张表情符号表,并制作了一个 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>😀😁😂😃😄😅😆😇😈😉😊😋😌😍😎😏😐😑😒😓😔😕😖😗😘😙😚😛😜😝😞😟😠😡😢😣😤😥😦😧😨😩😪😫😬😭😮😯😰😱😲😳😴😵😶😷🙈🙉🙊👆👇👈👉👊👋👌👍👎👏⚡✊✋✌✍❤⭐

我不知道是什么原因造成的。我该如何解决这个问题?

最佳答案

创建表格元素并使用 Table.insertRow() 的更实用的方法和 Row.insertCell() :

emojis = ['😀', '😁', '😂', '😃', '😄', '😅', '😆', '😇', '😈', '😉', '😊', '😋', '😌', '😍', '😎', '😏', '😐', '😑', '😒', '😓', '😔', '😕', '😖', '😗', '😘', '😙', '😚', '😛', '😜', '😝', '😞', '😟', '😠', '😡', '😢', '😣', '😤', '😥', '😦', '😧', '😨', '😩', '😪', '😫', '😬', '😭', '😮', '😯', '😰', '😱', '😲', '😳', '😴', '😵', '😶', '😷', '🙈', '🙉', '🙊', '👆', '👇', '👈', '👉', '👊', '👋', '👌', '👍', '👎', '👏', '⚡', '✊', '✋', '✌', '✍', '❤', '⭐']

const table = document.createElement('table');
let row;

emojis.forEach((emoji, i) => {
  if (i % 12 === 0) {
    row = table.insertRow();
  }
   row.insertCell().innerHTML = emoji;  
})

document.getElementById("emojiTable").append(table)
<div id="emojiTable"></div>

关于Javascript 循环遍历列表不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64412191/

相关文章:

java - 在 javascript 中处理 POJO

javascript - 无法在 ASP.NET 中集成 reCAPTCHA v2(服务器端)

javascript - Date.now() 不是 Mongodb 中的数字

r - 在 for 循环内增长列表会返回 NA

javascript - 默认情况下,当 hta 设置为以记事本打开时,CreateTextFile 不起作用(javascript)

java - 如何从applet返回文件到jsp

C语言: Write a program that would take 30 integers and prints the largest number and the smallest number

C++ 帮助 : loops and switches

performance - 为什么我的Scala尾递归比while循环快?

python - 如何将列名与字典键匹配并向计数器添加值