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

使用TS 5.1.3遍历Element.attributes遇NamedNodeMap迭代器错误求解决

解决TypeScript遍历Element.attributes时的迭代器报错问题
  • 核心问题出在TypeScript配置缺少DOM迭代器特性的类型支持,或是目标编译版本过低。
  • 检查tsconfig.json的compilerOptions配置:
    1. 确保lib数组包含"DOM"和"ES2015"(或更高版本,比如ESNext),示例配置:
      {
        "compilerOptions": {
          "lib": ["ES2015", "DOM"],
          "target": "ES2015"
        }
      }
      
      ES2015是迭代器特性的最低支持版本,DOM则提供了NamedNodeMap的迭代器类型声明。
    2. 确认target字段不低于ES2015,低版本目标会禁用迭代器相关的语法和类型支持。
  • 若配置调整后仍报错,检查项目依赖中的@types包是否存在版本冲突,比如旧版DOM类型定义,可尝试更新相关包或清理依赖缓存。
  • 临时应急方案:直接把NamedNodeMap转为数组再遍历,比如:
    // 转为数组后遍历
    for (const attr of Array.from(element.attributes)) {
      // 处理属性逻辑
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 12:59:59