在型别'HTMLScriptElement'上找不到具有型别'string'参数的索引签章

n3h0vuf2  于 2022-12-09  发布在  其他
关注(0)|答案(1)|浏览(147)

HTMLScriptElement的属性类型有问题。
在下面的代码中,问题出现在第行:
属性值?attribute.name值:真的
提示:“TS 7053:元素隐式具有”any“类型,因为类型”string“的表达式不能用于索引类型”HTMLScriptElement“。 在类型“HTMLScriptElement”上找不到具有类型“string”参数的索引签名。”

const generateFromSource = (codeString: string) => {
    let script = document.createElement('script')
    let template = document.createElement('div')
    template.innerHTML = codeString

    const element = template.getElementsByTagName('script')[0]
    for (let attribute of element.attributes) {
        if (attribute) {
            script[attribute.name] = attribute.value ? attribute.value : true
        }
    }
    document.head.appendChild(script)
}

请给我一些建议。谢谢!

3pvhb19x

3pvhb19x1#

为**scriptlocal建立索引以获取特定属性在JS中几乎不起作用:**script.getAttribute(attributeName)将.设置特定的脚本的属性值,可以通过以下方式完成:

script.setAttribute(attribute.name, attribute.value);

相关问题