ChildNode 类型上不存在属性“tagName”[Typescript]

2023-12-26

我正在从父节点循环子节点。我想访问子节点的 tagName,但错误是 tagName 在类型 ChildNode 上不存在。

const contentParsed = new DOMParser().parseFromString(content, 'text/xml');
const svgBody = contentParsed.querySelector('svg');

if (svgBody === null) throw new Error('content must be svg');
svgBody.childNodes.forEach((node) => node.tagName) // Property 'tagName' does not exist on type 'ChildNode'.ts(2339)

它与 JavaScript 一起工作

const svgStr = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><title></title><path d="M 2.6846088,10.906645 H 28.979394 v 8.389403 H 15.580319 l -0.719092,1.438183 -3.811186,0.143819 -0.575273,-1.582002 H 2.6846088 Z" fill="#fff"/><path d="M2,10.555H30v9.335H16v1.556H9.778V19.889H2Zm1.556,7.779H6.667V13.666H8.222v4.667H9.778V12.111H3.556Zm7.778-6.223v7.779h3.111V18.334h3.111V12.111Zm3.111,1.556H16v3.112H14.444Zm4.667-1.556v6.223h3.111V13.666h1.556v4.667h1.556V13.666h1.556v4.667h1.556V12.111Z" fill="#cb3837"/></svg>`
const contentParsed = new DOMParser().parseFromString(svgStr, 'text/xml');
const svgBody = contentParsed.querySelector('svg');

if (svgBody === null) throw new Error('content must be svg');
svgBody.childNodes.forEach(node => console.log(node.tagName))

childNodes可以包含非元素节点 https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType, use children https://developer.mozilla.org/en-US/docs/Web/API/ParentNode/children反而。

它在 JavaScript 中工作,因为 JS 不是类型安全的,并且你的父节点恰好只有元素作为子节点(或者它打印undefined).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ChildNode 类型上不存在属性“tagName”[Typescript] 的相关文章

  • 打字稿构建失败

    我目前有两个使用 typescript 1 1 的项目 它们在安装了 typescript 1 8 的 Visual Studio 2013 中打开 VS 要求升级 我这样做了 但现在出现以下错误 未知的编译器选项 listemitedfi
  • 正则表达式仅允许少数特殊字符以及 az 或 AZ

    有一个接受 a zA Z 的字段 我使用 regEx 来正常工作 a zA Z s 现在字段还应该排除除 之外的所有字符 我已经修改了正则表达式以支持此更改 新的正则表达式是 a zA Z s 但看起来它不起作用 有人可以告诉我我做错了什么
  • TypeORM 插入带有外键的行

    我之间有 OneToMany 关系聊天室1 M gt 留言我遇到的问题是 每当我尝试插入一条消息 或大量消息 时 ChatRoom 的外键为空 此外 我正在上传我的设置 Entity messages export class Messag
  • TypeScript 3 参数列表交集类型

    打字稿 3 https blogs msdn microsoft com typescript 2018 07 30 announcing typescript 3 0 tuples and parameters改进的参数列表 我正在查看类
  • 具有相同父布局角度的功能模块路由

    我想使用相同的布局 在应用程序模块 ts 对于不同的功能模块 每个模块都有自己的路由 以及一个单独的登录 注册布局 没有侧面菜单 页眉和页脚 到目前为止我尝试过这个 app app component html
  • 在 Typescript 中创建动态变量引用

    提前感谢任何提供帮助的人 对于有经验的人来说 这似乎是一个简单的答案 但我已经浏览了互联网和几本参考书 并没有找到这个问题的直接答案 所以希望它也对其他人有帮助 我目前正在从 Actionscript 过渡到 Typescript 并且对普
  • TS1128:预期声明或声明(文件结尾)

    我正在开发一个 TypeScript React 项目 刚刚习惯它 已经一年没有写过 React 了 等等 并且遇到了一个问题 当我编写此组件时 我遵循了我找到的一些文档 但我在此文件末尾收到 TS1128 预期声明或声明 错误 我无法弄清
  • 如何重载泛型方法以使其在 Typescript 中不那么泛型?

    我在抽象类中有一个通用静态方法 abstract class Base static find
  • TypeScript问题如何在Chart.js和react-chartjs-2的自定义插件中传递参数

    我创建了一个自定义插件horizontalArbitraryLine import Plugin from chart js export const horizontalArbitraryLine Plugin id horizontal
  • 与 webpack 捆绑后,无法读取枚举的未定义属性

    我有一个 React 库 我想使用 Webpack 来构建它 该库是使用 Typescript 编写的 似乎一切正常 但由于某种原因枚举却不起作用 当我将库安装到我的 React 应用程序中时 我发现Cannot read properti
  • 复选框警报控制器 - 添加 3 个按钮

    我用 IONIC 2 Beta 版本制作了一个应用程序 我正在使用复选框警报控制器 并添加两个按钮 确定 和 取消 现在我需要在警报控制器中再添加一个按钮 我在下面实现了添加一个按钮 alert addButton Cancel alert
  • Angular 12.1 使用 typescript 添加 html 元素

    我正在通过 youtube 学习 Angular 但我正在尝试做一些新的事情 但我遇到了一个错误 我的代码附在下面 请帮助我 我想这样设置属性div setAttribute click popUp event 但我得到了错误 打字稿 ex
  • Angular 没有 NameService 提供者

    我在将类加载到 Angular 组件中时遇到问题 我已经尝试解决这个问题很长时间了 我什至尝试过将所有内容合并到一个文件中 我所拥有的是 应用程序 ts
  • ionic2 对菜单项应用 ngx-translate

    我正在使用 ngx translate 来支持多语言 并且运行良好 但我也想申请菜单项 我该如何实现这一目标 我有 3 个菜单项 我想更改每个标题的语言 ts file appPages PageObj title Profile comp
  • If 语句中的 Typescript 类型推断不能用作变量

    考虑以下示例 class A class B extends A foo return 6 const variable A new B const isValid variable instanceof B if isValid vari
  • 在从命令行运行的 NestJS 脚本中使用服务

    我知道如何从命令行运行脚本 使用npm or npx ts node script ts 正如所述here https stackoverflow com questions 60704316 run nestjs script from
  • Svelte:无法识别导入的 TypeScript 文件

    我正在尝试使用 Rollup 使用 Svelte 和 TypeScript 构建一个应用程序 当我尝试构建我的 Svelte 组件时 我似乎无法让它编译我的 ts包含的文件 svelte成分 我不断收到此错误 Error Unexpecte
  • 角度2中未定义的值

    我正在创建一个应用程序 在其中使用 Ag Grid api 在网页上列出我的数据库内容 Ag grid 有一个预定义的 api 来获取所选行的内容 这是我的代码 export class customer entryComponent pu
  • 在 Angular 6 服务中获取当前路由参数的最佳方法是什么?

    我试图找出在 Angular 6 中获取当前路由参数的最佳方法是什么 目前我必须通过ActivatedRoute到服务的方法作为参数 然后在服务中使用它 export class MainComponent constructor priv
  • 将 Backbone 结构转换为 TypeScript

    看看 Backbonejs 的实现扩展功能 http backbonejs org docs backbone html section 186 它表明它不是一个基本的原型扩展 当主干扩展直接转换为 TypeScript 类时 有些东西会停

随机推荐

  • 我们如何在原始类型上使用 .class?

    当我们说 Class c Integer class System out println c 它打印 class java lang Integer 这是有道理的 因为java lang Integer是一个类 这样我们就可以有一个对应的
  • 变量名称如何在内部存储和映射?

    I read https stackoverflow com a 19721096 1661745 https stackoverflow com a 19721096 1661745在 CPython 中 变量似乎只是与引用相关联的名称
  • 如何在 iOS 中录制语音时以编程方式生成音频波形?

    如何在 iOS 中录制语音时以编程方式生成音频波形 我正在 iOS 中研究语音调制音频 一切正常 只需要一些最好的简单方法来生成检测噪声的音频波形 请不要向我推荐 speakhere 和 auriotouch 的代码教程 我需要本机应用程序
  • 如何修复此错误“未找到:值 BMValsProcessor”

    如何修复此代码中的此错误 trait Processor00 def process oraOptionDfConfig DataFrameReader sparkSession SparkSession Unit class BMVals
  • 使用 swiftmailer 在 symfony 2 中通过 smtp.gmail.com 发送邮件

    我在使用 gmail 从 xampp 本地主机发送邮件时遇到问题 经过很长一段时间我终于成功了 我正在与大家分享 如果我错了 需要适当的解决方案 在你的 symfony 2 的 config yml 中写下这些 swiftmailer di
  • mysqli_multi_query 是异步的吗?

    databases array path Path To Directory main link mysqli connect localhost USERNAME PASSWORD files scandir path ignore fi
  • codeSandBox (React/Node) 的 Http 请求错误

    我在 CodeSandBox StackBlitz 等在线 IDE 中遇到奇怪的错误 我做了一个示例 http 请求 使用 axios 但使用 fetch 或其他问题是相同的 并尝试在控制台中打印响应 我在前端使用 React 在后端使用
  • 在 foreach 循环外部使用 foreach 循环的变量

    我有一个 foreach 循环 我在循环内创建了一个字符串 但我想在循环外使用 var 这可能吗 List
  • .NET版本和C#版本之间的关系? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 如何确定可以针对特定 NET Framework 版本使用哪个版本的 C 我读过了 https sta
  • Git 精选语法和合并分支

    所以我之前已经做过无数次樱桃挑选 看来我现在必须在生活中失败 我正在尝试从一个分支挑选到另一个分支 这应该很容易 但是我收到了关于它是合并的错误 但是没有给出 m 吗 git cherry pick a8c5ad438f6173dc34f6
  • Mono无法打开sqlite数据库

    我正在尝试对 sqlite v3 数据库进行非常基本的连接 并且我正在使用 monodevelop 3 0 和 Mono 2 10 但无法连接到数据库 我可以让应用程序创建数据库 但随后它尝试连接到数据库时立即失败 有什么建议么 我从不同的
  • 查找可点击的元素

    有没有办法找到用 click 或 live click 指定的所有可点击元素 如果单击任何此类元素 我想执行一些操作 container bind click function event actions 这个捕获所有点击 Thanks 这
  • 如何使用时区偏移格式化 LocalDateTime

    我尝试这样做 ZoneOffset zoneOffset ZoneOffset ofHours 3 DateTimeFormatter fmt DateTimeFormatter ofPattern HH mm ss LocalDateTi
  • 如何确定我的 iOS 设备是否有手电筒?

    在我的应用程序中 我可以选择手电筒 然而 只有 iPhone 4 和 iPhone 4S 有手电筒灯 其他设备没有手电筒灯 如何找到当前设备型号 请帮我 提前致谢 您不应使用设备型号作为是否存在某项功能的指示符 相反 请使用 API 来准确
  • blur.js 尝试请求“none”并且 div 未扩展 100%

    我正在尝试使用http blurjs com http blurjs com 模糊标题栏的标题图像的背景 然而 它给了我一个有趣的错误 我似乎无法追踪 这可能与主要代码和兼容性有关 但我不确定 http jordan rave5 com t
  • 在 Numpy(或 Scipy)中计算斜率

    我正在尝试找到使用 Numpy 和 Scipy 计算斜率的最快 最有效的方法 我有一组由三个 Y 变量和一个 X 变量组成的数据集 我需要计算它们各自的斜率 例如 我可以轻松地一次一行执行此操作 如下所示 但我希望有一种更有效的方法来执行此
  • 按下 iOS swift 后更改 UIBarButtonItem 图标

    In the viewDidload方法 我声明了一个按钮并设置了 RightBarButton let btnFavourite UIButton frame CGRectMake 0 0 30 30 btnFavourite addTa
  • 找不到任何与 com.google.android.gms 匹配的版本:strict-version-matcher-plugin:[15.0.0, 16.0.0)

    项目一直运行良好 直到前两天突然出现错误 我不知道如何解决它 因为我已经做了我能做的一切 包括重新安装 android studio 和 gradle 无法解析配置 app debugCompileClasspath 的所有文件 找不到与
  • Array.push 返回推送值?

    是否有任何实质性原因需要修改Array push 返回推送的对象而不是新数组的长度可能是一个坏主意 我不知道这是否已经被提议或询问过 谷歌搜索只返回了大量与当前功能相关的问题Array push 这是此功能的示例实现 请随意更正它 func
  • ChildNode 类型上不存在属性“tagName”[Typescript]

    我正在从父节点循环子节点 我想访问子节点的 tagName 但错误是 tagName 在类型 ChildNode 上不存在 const contentParsed new DOMParser parseFromString content