首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在循环中创建内部div

在循环中创建内部div
EN

Stack Overflow用户
提问于 2016-06-28 10:13:37
回答 1查看 32关注 0票数 0

有人能给我解释一下我是如何附加div的吗?目前,它只是连接所有的东西,看起来都很混乱。我希望每次旅行都在单独的divs里面

代码语言:javascript
复制
        var origin = ' ';
        var destination = ' ';
        var distance = ' ';
        var oneConcatedTrip = ' ';

        var outerDiv = document.getElementById('demo');
        var innerDiv = document.createElement('div');
        var i = 1;

        var query = firebase.database().ref('users/' + uid +'/waypoints/Work/2016/06').orderByKey();            

        query.once("value")
          .then(function(snapshot) {
            snapshot.forEach(function(childSnapshot) {

            var key = childSnapshot.key;
            var childData = childSnapshot.val();

            origin = childSnapshot.val().origin;    
            destination = childSnapshot.val().destination;  
            distance = childSnapshot.val().distance;

            innerDiv.className = 'block-' + i++;
            outerDiv.appendChild(innerDiv);

            oneConcatedTrip =  origin + '  ' + destination + '  ' + distance;   
            innerDiv.innerHTML += oneConcatedTrip;

        });

            outerDiv.textContent = innerDiv.innerHTML;  
    }); 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-28 10:22:17

您正在重用innerDiv的相同引用。您需要为每次旅行创建不同的新div

移动:var innerDiv = document.createElement('div');进入for循环。

请查看下面的示例:

您的代码

注意,innerDiv有一个蓝色边框,只有一个框可以看到。

代码语言:javascript
复制
var outerDiv = document.getElementById('demo');
var innerDiv = document.createElement('div');
for (var i = 1; i < 5; i++) {
  innerDiv.className = 'block';
  outerDiv.appendChild(innerDiv);

  var oneConcatedTrip = 'origin   destination   distance';
  innerDiv.innerHTML += oneConcatedTrip;
}
代码语言:javascript
复制
.block {
  border: 2px blue solid;
}
代码语言:javascript
复制
<div id="demo">

</div>

校正方式

现在对于每一个迭代都有一个新的div,请注意有不同的框,而不仅仅是一个。

代码语言:javascript
复制
var outerDiv = document.getElementById('demo');
for (var i = 1; i < 5; i++) {
  var innerDiv = document.createElement('div');
  innerDiv.className = 'block';
  outerDiv.appendChild(innerDiv);

  var oneConcatedTrip = 'origin   destination   distance';
  innerDiv.innerHTML += oneConcatedTrip;
}
代码语言:javascript
复制
.block {
  border: 2px blue solid;
}
代码语言:javascript
复制
<div id="demo">

</div>

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

https://stackoverflow.com/questions/38073363

复制
相关文章

相似问题

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