Hướng dẫn what is the type of html element in typescript? - loại phần tử html trong bản thảo là gì?
Thao tác DomMột cuộc thám hiểm vào loại ts// 1. Select the div element using the id propertyconst app = document.getElementById("app");// 2. Create a newelement programmaticallyconst p = document.createElement("p");// 3. Add the text contentp.textContent = "Hello, World!";// 4. Append the p element to the div elementapp?.appendChild(p);1Trong hơn 20 năm kể từ khi tiêu chuẩn hóa, JavaScript đã đi một chặng đường rất dài. Mặc dù vào năm 2020, JavaScript có thể được sử dụng trên các máy chủ, trong khoa học dữ liệu và thậm chí trên các thiết bị IoT, điều quan trọng là phải nhớ trường hợp sử dụng phổ biến nhất của nó: trình duyệt web. Show
Các trang web được tạo thành từ các tài liệu HTML và/hoặc XML. Những tài liệu này là tĩnh, chúng không thay đổi. Mô hình đối tượng tài liệu (DOM) là giao diện lập trình được triển khai bởi các trình duyệt để làm cho các trang web tĩnh hoạt động. API DOM có thể được sử dụng để thay đổi cấu trúc tài liệu, kiểu dáng và nội dung. API mạnh đến mức vô số khung hình (JQuery, React, Angular, v.v.) đã được phát triển xung quanh nó để làm cho các trang web động thậm chí còn dễ phát triển hơn. TypeScript là một superset được đánh máy của JavaScript và nó vận chuyển các định nghĩa loại cho API DOM. Các định nghĩa này có sẵn trong bất kỳ dự án TypeScript mặc định nào. Trong số hơn 20.000 dòng định nghĩa trong lib.dom.d.ts, người ta nổi bật giữa những người còn lại: 1. Loại này là xương sống để thao tác DOM với TypeScript.
Ví dụ cơ bảnCho một tệp chỉ mục đơn giản hóa.html:
Hãy cùng khám phá một tập lệnh TypeScript thêm phần tử 3 vào phần tử 4.
Sau khi biên dịch và chạy trang index.html, HTML kết quả sẽ là:
Giao diện ts// 1. Select the div element using the id propertyconst app = document.getElementById("app");// 2. Create a newelement programmaticallyconst p = document.createElement("p");// 3. Add the text contentp.textContent = "Hello, World!";// 4. Append the p element to the div elementapp?.appendChild(p);5Dòng đầu tiên của mã TypeScript sử dụng biến toàn cầu 6. Kiểm tra biến cho thấy nó được xác định bởi giao diện 5 từ tệp lib.dom.d.ts. Cắt mã chứa các cuộc gọi đến hai phương thức, 8 và 9. htmlHello, World! Định nghĩa cho phương pháp này như sau:
Vượt qua nó một chuỗi ID phần tử và nó sẽ trả về 1 hoặc 2. Phương pháp này giới thiệu một trong những loại quan trọng nhất, 1. Nó đóng vai trò là giao diện cơ sở cho mọi giao diện phần tử khác. Ví dụ: biến 4 trong ví dụ mã là loại 5. Cũng lưu ý rằng phương pháp này có thể trả về 2. Điều này là do phương pháp có thể là một số tiền thời gian nhất định nếu nó có thể thực sự tìm thấy phần tử được chỉ định hay không. Trong dòng cuối cùng của đoạn mã, toán tử chuỗi tùy chọn mới được sử dụng để gọi 7. htmlHello, World! Định nghĩa cho phương pháp này là (tôi đã bỏ qua định nghĩa không dùng nữa):
Đây là một định nghĩa chức năng quá tải. Quá tải thứ hai là đơn giản nhất và hoạt động rất giống phương pháp 8. Vượt qua bất kỳ 0 nào và nó sẽ trả lại một htmlelement tiêu chuẩn. Định nghĩa này là những gì cho phép các nhà phát triển tạo các thẻ phần tử HTML độc đáo. Ví dụ 1 trả về phần tử 2, rõ ràng không phải là một phần tử được chỉ định bởi đặc tả HTML.
Đối với định nghĩa đầu tiên của 9, nó đang sử dụng một số mẫu chung nâng cao. Nó được hiểu rõ nhất được chia thành các khối, bắt đầu với biểu thức chung: 5. Biểu thức này xác định một tham số chung 6 bị ràng buộc với các khóa của giao diện 7. Giao diện bản đồ chứa mọi tên thẻ HTML được chỉ định và giao diện loại tương ứng của nó. Ví dụ: đây là 5 giá trị được ánh xạ đầu tiên:
Một số yếu tố không thể hiện các thuộc tính duy nhất và vì vậy chúng chỉ trả lại 1, nhưng các loại khác có các thuộc tính và phương thức duy nhất để chúng trả về giao diện cụ thể của chúng (sẽ mở rộng từ hoặc thực hiện 1). Bây giờ, trong phần còn lại của định nghĩa 9: 1. Đối số đầu tiên 2 được định nghĩa là tham số chung 6. Trình thông dịch TypeScript đủ thông minh để suy ra tham số chung từ đối số này. Điều này có nghĩa là nhà phát triển không thực sự phải chỉ định tham số chung khi sử dụng phương thức; Bất kỳ giá trị nào được chuyển cho đối số 2 sẽ được suy ra là 6 và do đó có thể được sử dụng trong suốt phần còn lại của định nghĩa. Đó chính xác là những gì xảy ra; Giá trị trả về 6 lấy đối số 2 và sử dụng nó để trả về loại tương ứng. Định nghĩa này là cách biến 4 từ đoạn mã có một loại 5. Và nếu mã là 0, thì đó sẽ là một yếu tố của loại 1. Giao diện tsinterface HTMLElementTagNameMap { "a": HTMLAnchorElement; "abbr": HTMLElement; "address": HTMLElement; "applet": HTMLAppletElement; "area": HTMLAreaElement; ...}2Hàm 3 trả về 1. Giao diện 1 mở rộng giao diện 6 mở rộng giao diện 2. Phần mở rộng nguyên mẫu này cho phép tất cả 8 sử dụng một tập hợp con của các phương thức tiêu chuẩn. Trong đoạn mã, chúng tôi sử dụng một thuộc tính được xác định trên giao diện 2 để nối phần tử 4 mới vào trang web. tsappendChild |