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

循环获取所有元素时如何正确使用forEach?Web爬虫取值问题

问题解决办法

错误原因

  • 现有代码只能返回最后一个值的核心问题是:每次循环都用单个value直接覆盖codeArray变量,而非追加到数组中,同时你没有初始化codeArray为数组类型。
  • $codes.get()调用forEach报错的常见诱因:你的函数声明存在语法错误(原代码漏写了函数括号),或是变量未正确初始化,jQuery的.get()返回的是标准JS数组,本身完全支持forEach方法。

修复后的实现代码

方案1:使用forEach遍历

function scrapeValues() {
  // 初始化空数组存储所有value
  const codeArray = [];
  const $codes = $('input[name="code"]');
  // 遍历所有匹配的DOM节点
  $codes.get().forEach(code => {
    const value = $(code).val().trim();
    // 把当前value追加到数组
    codeArray.push(value);
  })
  return codeArray;
}

方案2:更简洁的jQuery原生map方法(推荐)

不需要手动转数组、遍历,直接用jQuery封装的map方法批量提取值:

function scrapeValues() {
  return $('input[name="code"]').map(function() {
    return $(this).val().trim();
  }).get();
}

调用上述两个函数都会返回['111', '222', '333']的结果,符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 12:27:03