首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Javascript中使用循环创建HTML列表

在Javascript中使用循环创建HTML列表
EN

Stack Overflow用户
提问于 2018-06-14 22:01:19
回答 2查看 60关注 0票数 0

我在Javascript中有一个想要打印到屏幕上的数组,它是:(我的roj函数在这个例子中被简化了,但这并不重要)

代码语言:javascript
复制
<div class="result2"></div>
<script>
  var j;
  var ro = [0];
  for(j=0; j <= 49; j++){
    ro[j] = j;
    $('.result2').html(ro[j]);
  }
</script>

但这不起作用,因为我认为它一直在用每个循环替换div,而不是添加到div中。有没有好的方法来实现这一点?我想你可以试试这样的东西:

代码语言:javascript
复制
<div class="result2"></div>
<script>
  var j;
  var ro = [0];
  for(j=0; j <= 49; j++){
    ro[j] = j;
    if(j==0){
      $('.result2').html(ro[j]);
    }else{
      var res = $('.result2').val();
      $('.result2').html(res + ro[j]); 
    }
  }
</script>

但是这不起作用,因为您似乎不能在脚本中途调用脚本的结果?或者我只是犯了个错误,我不确定。任何帮助都是最好的!

编辑:忘记分号

EN

回答 2

Stack Overflow用户

发布于 2018-07-03 03:52:56

列表元素(ul或ol)应该用于列表,因为它在语义上更正确:

代码语言:javascript
复制
<ul id="result2"></ul>

使用es6语法,您可以将元素附加到该列表,如下所示:

代码语言:javascript
复制
const ro = [...Array(49).keys()]; // Just setting up a sample array

for (r of ro) {
  let li = document.createElement('li');
  li.innerHTML = r;
  document.getElementById('result2').appendChild(li);
}
票数 0
EN

Stack Overflow用户

发布于 2018-06-14 22:10:50

这将在屏幕上垂直放置数字。

代码语言:javascript
复制
<!DOCTYPE HTML>
<html>
<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>

<body>
    <div class="result2"></div>
    <script type='text/javascript'>
        var ro = [];

        for (var j = 0; j <= 49; j++) {
            ro.push(j);
            $('.result2').append(ro[j] + '<br />');
        }
    </script>
</body>
</html>
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50859346

复制
相关文章

相似问题

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