Bộ sưu tập HTML là gì?
Trả về phần tử tại vị trí đã chỉ định trong bộ sưu tập. Bạn cũng có thể chỉ định vị trí trong dấu ngoặc mảng thay vì gọi phương thức này một cách rõ ràng Show
namedItem( ) Trả về phần tử từ bộ sưu tập có giá trị được chỉ định cho thuộc tính Sự miêu tảMột HTMLCollection là một tập hợp các phần tử HTML với các phương thức cho phép bạn truy xuất các phần tử theo vị trí của chúng trong tài liệu hoặc theo thuộc tính Một số thuộc tính của giao diện HTMLDocument (tiêu chuẩn hóa đối tượng Tài liệu DOM Cấp 0) là các đối tượng HTMLCollection, cung cấp quyền truy cập thuận tiện vào các thành phần tài liệu như biểu mẫu, hình ảnh và liên kết. Đối tượng HTMLCollection cũng cung cấp một cách thuận tiện để duyệt qua các phần tử của biểu mẫu HTML, các hàng của bảng HTML, các ô của một hàng trong bảng và các khu vực của bản đồ hình ảnh phía máy khách Giao diện Ghi chú. Giao diện này được gọi là Một Của cảiHTMLCollection.length Chỉ đọc Trả về số mục trong bộ sưu tập. phương phápHTMLCollection.item() Trả lại nút cụ thể tại index dựa trên số 0 đã cho vào danh sách. Trả về null nếu index nằm ngoài phạm vi. HTMLCollection 0Trả về nút cụ thể có ID hoặc tên dự phòng khớp với chuỗi được chỉ định bởi HTMLCollection 1. So khớp theo tên chỉ được thực hiện như là phương sách cuối cùng, chỉ trong HTML và chỉ khi phần tử được tham chiếu hỗ trợ thuộc tính HTMLCollection 1. Trả về null nếu không có nút nào tồn tại theo tên đã choCách sử dụng trong JavaScript
Ví dụ: giả sử có một phần tử var elem1, elem2; // document.forms is an HTMLCollection elem1 = document.forms[0]; elem2 = document.forms.item(0); alert(elem1 === elem2); // shows: "true" elem1 = document.forms.myForm; elem2 = document.forms.namedItem("myForm"); alert(elem1 === elem2); // shows: "true" elem1 = document.forms["named.item.with.periods"]; thông số kỹ thuậtThông số kỹ thuậtStatusNhận xét Mức sống Lỗi thời ObsoleteInitial definition.Tính tương thích của trình duyệt webBảng tương thích trên trang này được tạo từ dữ liệu có cấu trúc. Nếu bạn muốn đóng góp cho dữ liệu, vui lòng xem https. //github. com/mdn/browser-compat-data và gửi yêu cầu kéo cho chúng tôi MộtHTMLCollection là một danh sách các nút. Một nút riêng lẻ có thể được truy cập bằng chỉ mục thứ tự hoặc các thuộc tínhname hoặc id của nút. Ghi chú. Các bộ sưu tập trong HTML DOM được giả định là đang hoạt động, nghĩa là chúng được cập nhật tự động khi tài liệu cơ bản bị thay đổiXem thêm Đặc tả Mô hình Đối tượng Tài liệu (DOM) Cấp 2 Phương thức item() được sử dụng để trả về nội dung của phần tử tại chỉ mục đã cho của tập hợp tất cả các phần tử HTML. Chỉ số bắt đầu từ số không (0). Các phần tử trong bộ sưu tập được sắp xếp theo thứ tự khi chúng xuất hiện trong mã nguồn. cú pháp HTMLCollection.item(index) HOẶC LÀ HTMLCollection[index] Thông số. Nó chứa một số đại diện cho chỉ mục của phần tử mà người dùng muốn trả về. Chỉ số bắt đầu từ 0 Đối tượng NodeList là tập hợp các nút tài liệu (nút phần tử, nút thuộc tính và nút văn bản) Có thể bạn quan tâm1. Các phương thức trả về HTMLCollection và NodeList
Hai phương thức này trả về đối tượng HTMLCollection
Các phương thức trả về NodeList là
dùng thửXem Phương thức Pen 1 trả về HTMLCollection & NodeList của SoftAuthor (@softauthor) trên CodePen 2. HTMLCollection (Nút phần tử) so với NodeList (Tất cả nút)HTMLCollection only contains element nodes such as , , etc. NodeList chứa các nút phần tử, nút thuộc tính, nút văn bản, v.v. Đó là loại khó hiểu .. đúng Hãy xem xét điều này với một ví dụ mã Đây là đánh dấu HTML đơn giản Nó có một div với id được gọi là box-wrapper là phần tử cha Phần tử cha có một nút văn bản và hai nút phần tử
Hãy xem làm thế nào để có được những đứa trẻ của nó Để chỉ nhận các nút phần tử, hãy sử dụng. thuộc tính con trên đối tượng tài liệu gốc Trong trường hợp này. hộp Các. thuộc tính con trả về HTMLCollection chỉ chứa các nút phần tử Trong trường hợp này [div, div] nhưng nó bỏ qua dòng chữ “I’m Text Node”
Mặt khác, các. Thuộc tính childNodes trên đối tượng tài liệu gốc trả về NodeList chứa các nút phần tử, nút thuộc tính, nút văn bản, v.v. dùng thửXem Bộ sưu tập Pen HTML (Nút phần tử) so với NodeList (Tất cả nút) của SoftAuthor (@softauthor) trên CodePen 3. HTMLCollection (tên, id hoặc số chỉ mục) Vs NodeList (chỉ chỉ mục)Các mục HTMLCollection có thể được truy cập bằng thuộc tính tên, thuộc tính id hoặc số chỉ mục của chúng Các mục NodeList chỉ có thể được truy cập bằng số chỉ mục của chúng
Trong ví dụ mã bên dưới, hãy lấy phần tử div con đầu tiên bên trong phần tử cha của trình bao bọc hộp
Để làm điều đó, hãy chuyển đổi phần tử con của phần tử cha trình bao bọc hộp thành HTMLCollection bằng thuộc tính con Sử dụng thuộc tính số chỉ mục, id hoặc tên để lấy một mục cụ thể từ HTMLCollection bằng phương thức nameItem()
Chuyển đổi phần tử con của phần tử cha của trình bao bọc hộp thành NodeList bằng cách sử dụng. tài sản conNodes Khi sử dụng NodeList, bạn chỉ có thể lấy một mục cụ thể bằng cách sử dụng vị trí chỉ mục của nó
dùng thửXem Bộ sưu tập Pen HTML (Tên, Id và Chỉ mục) so với NodeList (Chỉ mục) của SoftAuthor (@softauthor) trên CodePen 4. HTMLCollection (trực tiếp*) Vs NodeList (tĩnh*)
getElementsByTagName() và getElementsByClassName() đang hoạt động Khi một tài liệu cơ bản được thay đổi, HTMLCollection sẽ được cập nhật tự động Hãy xem điều đó trong hành động Tôi có một phần tử div đơn giản với id box-wrapper và nó có 4 phần tử div con bên trong Hãy thêm một phần tử vào nó ________số 8_______Đầu tiên, lấy tất cả các phần tử div có. box trong đó bằng cách sử dụng getElementsByClassName() trả về HTMLCollection Ở giai đoạn này, HTMLCollection có 4 mục trong đó Sau đó, thêm một phần tử div mới với tên lớp. hộp cho nó Bây giờ, HTMLCollection có năm mục trong đó
Tương tự, phương thức getElementsByTagName() sẽ tự động trả về HTMLCollection đã cập nhật khi có thay đổi trong danh sách Có một ngoại lệ. Mặc dù, getElementsByName() trả về NodeList – nhưng nó TRỰC TIẾP
NodeList được trả về bởi querySelectorAll() KHÔNG hoạt động Khi có thay đổi đối với tài liệu cơ bản, nó không tự động cập nhật NodeList Thay vào đó, nó sẽ tạo một bản sao của NodeList với một phần tử mới Để có được NodeList cập nhật, bạn sẽ phải gọi lại phương thức querySelectorAll()
dùng thửXem Pen HTMLCollection (trực tiếp) Vs NodeList (tĩnh) của SoftAuthor (@softauthor) trên CodePen 5. Bộ sưu tập HTML (đối với. của) Vs NodeList (forEach)Tất cả các phiên bản gần đây của các trình duyệt hiện đại (Safari, Firefox, Chrome, Edge) đều hỗ trợ lặp lại 2 trên danh sách DOM chẳng hạn như 3 hoặc 4
HTMLCollection trực tiếp là gì?Trực tiếp là. khi các thay đổi trong DOM được phản ánh trong bộ sưu tập . Nội dung bị thay đổi khi một nút được sửa đổi. Không Trực tuyến bây giờ là. khi bất kỳ thay đổi nào trong DOM không ảnh hưởng đến nội dung của bộ sưu tập. tài liệu. getElementsByClassName() là một HTMLCollection và đang hoạt động.
Làm cách nào để phân tích cú pháp HTMLCollection trong JavaScript?Mục trong Bộ sưu tập HTML() . bộ sưu tập const = tài liệu. getElementsByTagName("p"). mục(0); . bên trongHTML; bộ sưu tập const = tài liệu. getElementsByTagName("p")[0]; . bên trongHTML; getElementsByTagName("p")[0]. innerHTML = "Đoạn đã thay đổi"; Cái nào sau đây sẽ trả về một đối tượng HTMLCollection?Phương thức getElementsByTagName() trả về một đối tượng HTMLCollection. Một đối tượng HTMLCollection là một danh sách giống như mảng (bộ sưu tập) các phần tử HTML.
Bạn có thể lặp qua HTMLCollection không?Một HTMLCollection không có các phương thức giống như một mảng, nhưng nó vẫn là một bộ sưu tập có thể lặp lại và có thể được sử dụng làm nguồn cho một biến vòng lặp. |