2016-07-10 9 views
5

작은 화면에서 붕괴하는 반응 형 메뉴 표시 줄을 디자인하려하지만 typescript를 사용하고 있습니다. 내가 타이프이 코드로 변경 타이프 라이터typescript에서 클래스 이름별로 요소를 선택하는 방법은 무엇입니까?

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

이 코드에 어떤 상응하는 단서가 있지만 결코 작동하지 않습니다

타이프 라이터 자바 스크립트의 상위 집합이기 때문에 아무것도 변경할 필요가 없습니다
myFunction(): void { 
(<HTMLScriptElement[]><any>document.getElementsByClassName("topnav"))[0].classList.toggle("responsive"); 
} 

답변

9

, 그래서 심지어 정규 자바 스크립트 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"); 
} 
+0

감사 @NitzanTomer – kero

관련 문제