我正在尝试这样做:
var script:HTMLScriptElement = document.getElementsByName("script")[0]; alert(script.type);
但它给了我一个错误:
Cannot convert 'Node' to 'HTMLScriptElement': Type 'Node' is missing property 'defer' from type 'HTMLScriptElement' (elementName: string) => NodeList
除非我将它转换为正确的类型,否则我无法访问脚本元素的“类型”成员,但我不知道该怎么做。我搜索了文档和示例,但找不到任何东西。
TypeScript 使用 ‘<>’ 来包围强制转换,所以上面变成:
var script = <HTMLScriptElement>document.getElementsByName("script")[0];
但是,不幸的是,您不能这样做:
var script = (<HTMLScriptElement[]>document.getElementsByName(id))[0];
你得到错误
Cannot convert 'NodeList' to 'HTMLScriptElement[]'
但你可以这样做:
(<HTMLScriptElement[]><any>document.getElementsByName(id))[0];