提问者:小点点

Array.map()正在返回HTML[object object]


我试图在React和JavaScript中制作简单的动画文本,我的问题是,在用字母映射数组后,结果是HTML,得到的是[Object Object]。 有人能解释我做错了什么。

animation = () => {
  let text = document.querySelector(".hi");
  let leterArr = [...text.textContent];
  text.textContent = "";
  leterArr.map(char => {
    return (text.innerHTML += "<span>" +{char} +"</span>")
  })
}

共2个答案

匿名用户

将转换{char}反应为对象。 因此,当您将它与string连接起来时,对象就变成了[object object]

使用这个

animation = () => {
  let text = document.querySelector(".hi");
  let leterArr = [...text.textContent];
  text.textContent = "";
  leterArr.map(char => {
    return (text.innerHTML += `<span>${char}</span>`)
  })
}

匿名用户

你需要这样做:

animation = () => {
  let text = document.querySelector(".hi");
  let leterArr = [...text.textContent];
  text.textContent = "";
  let temp;
  leterArr.map(char => {
    temp += "<span>" + char +"</span>"
  })
  text.innerHtml = temp;
}

相关问题