提问人:MWHmann 提问时间:9/5/2023 最后编辑:MWHmann 更新时间:9/5/2023 访问量:55
打字稿:如何检查变量是否属于 Element 类型?ReferenceError:未定义元素
Typescript: How to check if variable is of type Element? ReferenceError: Element is not defined
问:
我正在使用带有 TypeScript 和 xmldom 包的 Node 来解析 xml 文件并迭代它以将其转换为 JavaScript 类。 为此,我正在迭代 childNodes
constructor(xmlElement: Element) {
for (let childNode of xmlElement.childNodes) {
if (childNode instanceof Element) {
if(childNode.tagName=="myTag") { /* do something depending on which tag it is*/ }
/* a lot of similar if statements */
}
else {
/* do something for text nodes*/
}
}
}
但是,运行此代码会给我错误消息:“ReferenceError: Element is not defined”。即使它应该作为 JavaScript 的标准类存在,如果我没记错的话。
按照 9979172 中的建议使用会引发错误。使用逻辑方面的工作原理和代码按预期运行,但 TypeScript 无法推断这等效于并将每个 if 语句标记为 TypeScript 错误,并且每增加一行就违背了使用 TypeScript 的目的。if(childNode.nodeType == Node.ELEMENT_NODE)
Node is not defined
if(childNode.innerHTML)
childNode instanceof Element
childNode.tagName
childNode.innerHTML
//@ts-ignore
我在一个相关问题中读到,Element 可能不存在在 Node 中,因为服务器上没有 DOM,如果是这种情况,我正在寻找替代解决方案,这不会导致 TypeScript 错误。
答: 暂无答案
评论