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