我试图在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>")
})
}
将转换{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;
}