hvordan velge element etter klassenavn i TypeScript?


Jeg prøver å lage en responsiv menylinje som kollapser på små skjermer, men jeg bruker TypeScript. Er det noen antydning om hva som er ekvivalenten til denne koden i TypeScript?

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

Jeg endret til denne koden i TypeScript, men den fungerer aldri

myFunction(): void {
(<HTMLScriptElement[]><any>document.getElementsByClassName("topnav"))[0].classList.toggle("responsive");
}

Svar #1

Det er ikke nødvendig å endre noe siden TypeScript er en superset av JavaScript, så selv vanlig JavaScript kan være TypeScript.

Med det sagt, kan du legge til noen TypeScript-funksjoner:

function myFunction(): boolean {
    let elements: NodeListOf<Element> = document.getElementsByClassName("topnav");
    let classes: DOMTokenList = elements[0].classList;
    return classes.toggle("responsive");
}

Men det er ikke nødvendig å dele opp ting på den måten, så du kan bare beholde koden din som den er, men kanskje legge til en returtype i funksjonssignaturen:

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

Eller

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

Relaterte artikler