【问题标题】:How to use iteration to insert HTML如何使用迭代插入 HTML
【发布时间】:2012-01-13 15:34:46
【问题描述】:

我有以下难看的硬代码:

<div class="label">
    <p id="CO-0"></p>
    <p id="CO-1"></p>
    <p id="CO-2"></p>
    <p id="CO-3"></p>
</div>

如何在 JavaScript 中使用迭代来自动插入 0、1、2 和 3 p id?

这是我的开始:

for (i = 0; i< 3; i +=1){
    $('.label').html('<p id='+[i]+'></p>');
} 

【问题讨论】:

    标签: javascript jquery html loops


    【解决方案1】:
     for (i = 0; i < 4; i++){
           $('.label').append( '<p id="CO-'+ i +'"></p>' );
     };
    

    【讨论】:

    • 首先,他必须定义变量,for (var i = 0; i
    【解决方案2】:

    虽然 Dorin 的回答是正确的,但出于效率原因,您应该一次性完成插入,因为 DOM 操作相对昂贵。

    var html = '';
    for (var i = 0; i < 4; i++){
       html += '<p id="CO-'+ i +'"></p>';
    };
    $('div.label').html(html);
    

    【讨论】:

      【解决方案3】:

      一次完成所有 dom 插入更优雅/高效:

      var inhtml ="";
      for (var i = 0; i< 3; i +=1){
          inhtml += '<p id=CO-'+i+'></p>';
      }
      
      $('.label').html(inhtml);
      

      【讨论】:

      • 已删除。我只是从示例中复制粘贴它们。还使用 html i 问题更正了 id,并且更有效
      • 应该是i &lt; 4,虽然没有错,但我很好奇你为什么用i+=1而不是更常见的i++
      • 再次受到这个问题的启发。我通常会做 ++ 只是因为它更短。
      猜你喜欢
      • 1970-01-01
      • 2016-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多