使用Javascript,我想反复将相同的文本一遍又一遍地添加到同一个div元素中。
<script>
while(true) {
var itstimeto = document.getElementById("duel");
var d = "D-";
itstimeto.innerHTML = itstimeto + d;
itstimeto = document.getElementById("duel");
}
</script>
<div id="duel">IT'S TIME TO </div>
然而,div只停留在“IT'S TIME TO”文本中,没有任何内容添加到文本中。
我唯一的解释是反复重复定义变量。
感谢任何帮助!
答案 0 :(得分:0)
itstimeto.innerHTML = itstimeto + d;
可能应该是
itstimeto.innerHTML = itstimeto.innerHTML + d;
答案 1 :(得分:0)
首先删除无限循环。 第二次使用代码
while() {
var itstimeto = document.getElementById("duel");
var d = "D-";
itstimeto.innerHTML = itstimeto.innerHTML + d;
}
答案 2 :(得分:0)
正如@clarmond在评论中所说,你想要itstimeto.innerHTML = itstimeto.innerHTML + d;
获取内部文本并附加更多文本。
此外,我没有看到使用将变量映射到同一元素。
这是您需要的脚本。只是一个公平的警告,当你运行它时,你的代码可能会导致你的严重麻烦
while(true) {
var itstimeto = document.getElementById("duel");
var d = "D-";
itstimeto.innerHTML = itstimeto.innerHTML + d;
}
答案 3 :(得分:0)
1。)将itstimeto.innerHTML = itstimeto + d
更改为itstimeto.innerHTML = itstimeto.innerHTML + d;
2。)尝试将while (true)
更改为setInterval
,因为它会冻结整个页面。
所以最终代码可能如下所示:
setInterval(function(){
var itstimeto = document.getElementById("duel");
var d = "D-";
itstimeto.innerHTML = itstimeto.innerHTML + d;
}, 0);
答案 4 :(得分:0)
删除以下行:
var d = "D-";
itstimeto.innerHTML = itstimeto + d;
itstimeto = document.getElementById("duel");
更改为:
var d = document.createTextNode('D-');
itstimeto.append(d);
这些是vanilla JS方法,不解释。有关更多详细信息,请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript。
答案 5 :(得分:0)
尝试使用+ =来连接字符串。 https://plnkr.co/edit/RPUmE7?p=preview
<button onclick="run()">RUN</button>
<div id="msg">Hello world!</div>
// Code goes here
function run() {
var finalMessage = [] ;
var msg = document.getElementById("msg").innerHTML;
for (var i = 0; i < 20; i++) {
finalMessage.push(msg + " D- <br>");
}
document.getElementById("msg").innerHTML = finalMessage.join('');
}