我对HTMLScriptElement的属性类型有一个问题。
在下面的代码中,问题出现在:
TS7053:元素隐式具有'any'类型,因为'string'类型的表达式不能用于索引'HTMLScriptElement'类型。在类型'HTMLScriptElement'上找不到带有'string'类型参数的索引签名。"script[attribute.name] = attribute。价值吗?属性。取值范围:true
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)
}
请给我一些建议。谢谢你!
索引脚本local,以获得特定的属性很难在JS中工作:script.getAttribute(attributeName)会的。设置特殊脚本的属性值可以这样处理:
script.setAttribute(attribute.name, attribute.value);