我正在尝试设计在小屏幕中折叠的响应式菜单栏,但是,我正在使用打字稿。是否有任何线索与typescript
中的此代码等效function myFunction() {
document.getElementsByClassName("topnav")[0].classList.toggle("responsive");}
我在打字稿中改为此代码,但它永远不会起作用
myFunction(): void {
(<HTMLScriptElement[]><any>document.getElementsByClassName("topnav"))[0].classList.toggle("responsive");
}
答案 0 :(得分:14)
没有必要改变任何东西,因为typescript是javascript的超集,所以即使是常规的javascript也可以是打字稿。
话虽如此,您可以添加一些打字稿功能:
function myFunction(): boolean {
let elements: NodeListOf<Element> = document.getElementsByClassName("topnav");
let classes: DOMTokenList = elements[0].classList;
return classes.toggle("responsive");
}
但是没有必要像这样拆分它们,所以你可以拥有你的确切代码,但也许可以在函数签名中添加一个返回类型:
function myFunction(): void {
document.getElementsByClassName("topnav")[0].classList.toggle("responsive");
}
或者
function myFunction(): boolean {
return document.getElementsByClassName("topnav")[0].classList.toggle("responsive");
}