首页 > 解决方案 > 如何在没有循环的情况下在页面加载时插入 100 个标题?

问题描述

第一次在这里发帖,请多多包涵!我应该在页面加载时插入 100 个 h3 标题(“指控 1,指控 2,指控 3,...指控 100”)。我们只为整个实验室使用了 1 个循环,它将与实验室中的其他代码一起使用,所以如果可能的话,我会尝试在不使用循环的情况下执行此操作。

**另外,实验室应该教范围和提升,所以我们不能使用“let”或“const”,只能使用“var”。

var accusation = 1;

var createHeading = function () {
  var heading = $('<h3></h3>').text("Accusation " + accusation);
  $('body').append(heading);
  accusation++;
}

$(document).ready(function () {
  createHeading();
  accusation++;
  console.log(accusation);
  if (accusation > 100) {
    return;
    console.log('reached 100');
  }

})

我希望这个函数在不使用循环的情况下重复和递增,但它只产生第一个 h3 标题。

标签: javascriptjquery

解决方案


您可以使用Array.from()它的内部映射器回调来构建一个元素数组并简单地附加该数组

var headings = Array.from({length:100}, (_,i) => $('<h3>', {text: `Accusation ${i+1}`}))

$('body').append(headings)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


推荐阅读