首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >创建10x10字段

创建10x10字段
EN

Stack Overflow用户
提问于 2018-10-03 20:44:34
回答 1查看 30关注 0票数 1

我有这段代码,看起来是正确的,但是为什么新的div没有出现在父div中。谁能给我解释一下原因吗?

代码语言:javascript
运行
复制
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()
代码语言:javascript
运行
复制
<div id="parent"></div>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-03 20:44:57

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

代码语言:javascript
运行
复制
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()
代码语言:javascript
运行
复制
<div id="parent"></div>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52635415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档