2016-07-10 17 views
5

Tôi đang cố gắng thiết kế thanh trình đơn đáp ứng thu gọn trong màn hình nhỏ, tuy nhiên, tôi đang sử dụng bản ghi. là có bất kỳ manh mối gì tương đương với mã này trong nguyên cảocách chọn phần tử theo tên lớp trong bản ghi?

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

tôi đã thay đổi mã này trong nguyên cảo nhưng nó không bao giờ làm việc

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

Trả lời

9

Không cần phải thay đổi bất cứ điều gì vì nguyên cảo là một superset của javascript, vì vậy ngay cả javascript thông thường cũng có thể là bản đánh máy.

Với điều đó đang được nói, bạn có thể thêm một số tính năng đánh máy:

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

Nhưng không cần phải phá vỡ mọi thứ ngoài như thế, vì vậy bạn chỉ có thể có mã chính xác của bạn, nhưng có lẽ thêm một loại trở lại chức năng chữ ký:

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

Hoặc

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

Cảm ơn @NitzanTomer – kero

Các vấn đề liên quan