hur man väljer ett element efter klassnamn i TypeScript?
Jag försöker designa en responsiv menyrad som kollapsar på små skärmar, men jag använder TypeScript. Finns det någon ledtråd om vad som motsvarar denna kod i TypeScript
function myFunction() {
document.getElementsByClassName("topnav")[0].classList.toggle("responsive");}
Jag ändrade till den här koden i TypeScript men den fungerar aldrig
myFunction(): void {
(<HTMLScriptElement[]><any>document.getElementsByClassName("topnav"))[0].classList.toggle("responsive");
}
Svar #1
Det finns ingen anledning att förändra något eftersom TypeScript är en superset av JavaScript, så även vanlig JavaScript kan vara TypeScript.
Med det sagt kan du lägga till några TypeScript-funktioner:
function myFunction(): boolean {
let elements: NodeListOf<Element> = document.getElementsByClassName("topnav");
let classes: DOMTokenList = elements[0].classList;
return classes.toggle("responsive");
}
Men det finns ingen anledning att dela upp saker på det sättet, så du kan bara behålla din exakta kod, men kanske lägga till en returtyp i funktionssignaturen:
function myFunction(): void {
document.getElementsByClassName("topnav")[0].classList.toggle("responsive");
}
Eller
function myFunction(): boolean {
return document.getElementsByClassName("topnav")[0].classList.toggle("responsive");
}
