javascript - TypeScript - 类型 'id' 上不存在属性 'Node'

标签 javascript typescript angular

当我尝试获取元素的 ID 时,我在使用 TypeScript(适用于 Angular2)时遇到了这个问题。 看这个例子:

<div id="search">
    <div id="field1"></div>
    <div id="field2"></div>
</div>

如果我尝试获取其中一个嵌套 div 的 ID,我可以正常执行此操作:

var element = document.getElementById("search");
var subelement = element.childNodes;
subelement[1].id;

然后我将有“field2”。

但是,当我尝试使用 TypeScript 执行此操作时,我收到消息 Property 'id' does not exist on type 'Node'。 因此我的代码无法运行。 我真的需要一个解决方案,因为我需要知道另一个元素中的嵌套元素,除非有更好的方法。

最佳答案

节点可以不仅仅是元素,而且不一定具有 id 属性。您应该使用 .children,它只是元素的集合。

关于javascript - TypeScript - 类型 'id' 上不存在属性 'Node',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38250575/

相关文章:

javascript - VueJS 扩展组件 : remove parent's property

javascript - 从ajax驱动的网站检索渲染的html

typescript - 如何从 typescript 中的预定义基类中删除动态键?

unit-testing - 如何对 material2 图标进行单元测试

angular - 找不到模块@angular/core + angular2

angular - 如何使用模式验证 mat-datepicker 输入?

javascript - JSON 在 n 行中保留一行

javascript - 在 angularjs 中编写应用程序时,我遇到了 sintaxis 错误?

javascript - 将自己的 JavaScript 模块导入转换后的 TypeScript

typescript - 如何在 jest/apollo 客户端中捕获被拒绝的 graphql 订阅?