You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript初学者求助:如何用for循环从数组向h2标签添加文本

解决数组内容对应添加到指定容器的问题

你的代码现在的问题是:每次循环都会选中所有.ic-table-h2容器,给它们各自添加一个h2标签,最后每个容器里都会有4个重复的标题。要实现一个容器对应一个数组元素的效果,可以这样修改:

方法一:用eq()定位对应索引的容器

$(document).ready(function () {
  const titles = ["Title 1", "Title 2", "Title 3", "Title 4"]; // 修正了原数组重复的Title3
  for (let i = 0; i < titles.length; i++) {
    // 用模板字符串拼接更简洁
    const addText = `<h2>${titles[i]}</h2>`;
    // 只给第i个.ic-table-h2容器添加内容
    $(".ic-table-h2").eq(i).append(addText);
  }
});

方法二:先获取容器集合再循环操作

$(document).ready(function () {
  const titles = ["Title 1", "Title 2", "Title 3", "Title 4"];
  // 提前获取所有容器元素的集合,避免每次循环重复查找DOM
  const containers = $(".ic-table-h2");
  
  for (let i = 0; i < titles.length; i++) {
    const addText = `<h2>${titles[i]}</h2>`;
    // 操作集合中对应索引的容器
    $(containers[i]).append(addText);
  }
});

额外提示

如果数组长度和容器数量不一致,建议加个判断避免索引越界:

for (let i = 0; i < titles.length; i++) {
  if (i >= containers.length) break; // 容器不够就停止循环
  const addText = `<h2>${titles[i]}</h2>`;
  $(containers[i]).append(addText);
}

内容的提问来源于stack exchange,提问作者420reefermad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 16:55:30