【问题标题】:Typescript - How to iterate over a HTMLCollectionTypescript - 如何遍历 HTMLCollection
【发布时间】:2019-07-09 06:55:13
【问题描述】:

我是打字稿的新手,我正在尝试遍历document.getElementsByClassName() 获得的 HTMLCollection。我的代码是:

let tag_list = document.getElementsByClassName("...") as HTMLCollectionOf<HTMLLinkElement>;
for (const tag of tag_list) {
    //do sth with tag.href
}

但事实证明“TS2495:类型'HTMLCollectionOf'不是数组类型或字符串类型。”那么我能做些什么来防止这个错误呢?

【问题讨论】:

    标签: typescript


    【解决方案1】:

    HTMLCollectionOf&lt;HTMLLinkElement&gt; 不是数组,因此不能迭代它。所以,你需要把它变成一个数组

    for (const tag of Array.from(tag_list)) {
    

    希望有帮助

    【讨论】:

    • 谢谢,但似乎“'ArrayConstructor'类型上不存在'属性''”
    • 是的,这里是ArrayConstructor
    • interface ArrayConstructor { from&lt;T&gt;(iterable: Iterable&lt;T&gt; | ArrayLike&lt;T&gt;): T[]; from&lt;T, U&gt;(iterable: Iterable&lt;T&gt; | ArrayLike&lt;T&gt;, mapfn: (v: T, k: number) =&gt; U, thisArg?: any): U[]; }
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-16
    • 2020-08-02
    • 1970-01-01
    • 2021-08-27
    • 1970-01-01
    • 2020-04-30
    相关资源
    最近更新 更多