我试图设计响应菜单栏,在小屏幕上折叠,然而,我使用的是typescript。在打印稿中有什么与此代码等价的线索吗?

function myFunction() {
document.getElementsByClassName("topnav")[0].classList.toggle("responsive");}

我用打字机改成了这段代码,但一直没用
myFunction(): void {
(<HTMLScriptElement[]><any>document.getElementsByClassName("topnav"))[0].classList.toggle("responsive");
}

最佳答案

不需要改变任何东西,因为ToeScript是JavaScript的一个超集,所以即使是普通的JavaScript也可以是类型化的。
尽管如此,您可以添加一些typescript功能:

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");
}

关于typescript - 如何通过 typescript 中的类名称选择元素?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38292232/

10-11 05:47