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

循环数组为现有DIV添加带索引ID的子DIV,代码无效果求助

问题分析与解决方案

你的代码执行无效果,核心是存在几个语法与逻辑错误:

  • 数组元素未用引号包裹:[apple, orange, banana]里的apple等会被识别为未定义变量,需改为字符串形式["apple", "orange", "banana"]
  • setAttribute参数错误:第一个参数必须是字符串"id",而非未定义的变量id
  • DOM元素获取不严谨:直接使用resultsBox可能因DOM未加载完成导致找不到元素,建议显式获取

修正后的完整代码

HTML

<div id="resultsBox" class="results"></div>

JavaScript

var resultsArr = ["apple", "orange", "banana"]
var resultsBox = document.getElementById("resultsBox")

for (var i = 0; i < resultsArr.length; i++) {
  var resultDiv = document.createElement("div")
  resultDiv.setAttribute("id", "result" + i)
  resultsBox.appendChild(resultDiv) 
}

额外优化建议

  • 用let替代var避免循环变量的作用域问题:
for (let i = 0; i < resultsArr.length; i++) {
  // 其余代码保持不变
}
  • 若需子DIV默认显示数组元素内容,可添加:
resultDiv.textContent = resultsArr[i]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 07:25:33