繁体   English   中英

创建一个 10x10 字段的字段

[英]creating a field of 10x10 field

我有这个代码并且看起来是正确的,但是为什么新的 div 没有出现在父 div 中。 有人可以向我解释为什么吗?

 var myGame = { fieldSize: 10, drawField: function() { setInterval(function () { var parent = document.getElementById('parent') parent.innerHTML = ''; for (var i=0; i<this.fieldSize; i++) { var row = document.createElement('div'); for (var j=0; j<this.fieldSize; j++) { var field = document.createElement('div'); field.className = 'field'; row.appendChild(field); } parent.appendChild(row); } }, 3000) } } myGame.drawField()
 <div id="parent"></div>

您的 setInterval 创建了另一个上下文,因此this.fieldSize undefined

 var myGame = { fieldSize: 10, drawField: function() { setInterval(() => { var parent = document.getElementById('parent') parent.innerHTML = ''; for (var i=0; i<this.fieldSize; i++) { var row = document.createElement('div'); for (var j=0; j<this.fieldSize; j++) { var field = document.createElement('div'); field.className = 'field'; row.appendChild(field); } parent.appendChild(row); } }, 3000) } } myGame.drawField()
 <div id="parent"></div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM