- vừa được xem lúc

SO SÁNH HTMLCOLLECTION VÀ NODELIST

0 0 4

Người đăng: Nguyễn Quang Việt

Theo Viblo Asia

Khái niệm

HTMLCollection là gì?

  • HTMLCollection là một đối tượng trong JavaScript, đại diện cho một tập hợp (collection) các phần tử HTML.
  • HTMLCollection chủ yếu được sử dụng khi làm việc với các kết quả trả về từ các phương thức DOM như getElementsByClassName, getElementsByTagName.

NodeLisst là gì?

  • NodeList là một đối tượng trong JavaScript, đại diện cho một tập hợp (collection) các nút trong DOM (Document Object Model).
  • NodeList thường được tạo ra khi bạn sử dụng các phương thức DOM như querySelectorAll, childNodes.

Sự giống nhau

  1. HTMLcollection và NodeList rất là giống nhau.
  2. Cả hai đều là một tập hợp các Nodes (elements) được lấy ra từ Document, thông qua các phương thức get element trong DOM.
  3. Những Nodes có thể được truy cập thông qua các chỉ số index.
  4. Cả hai đều có thuộc tính length để trả về số phần tử của tập hợp.

Sự khác nhau

Định nghĩa

  • HTMLCollection là 1 tập hợp các document elements.
  • NodeList là 1 tập hợp các document nodes (element nodes, attribute nodes và text nodes)

Cách truy cập các item con

Những item của HTMLCollection có thể được truy cập bằng tên, id, chỉ số index. Những item của NodeList chỉ được truy cập bằng chỉ số index.

LIVE hay STATIC Collection

  • Live Collection: HTMLCollection là một "live collection", nghĩa là nó sẽ tự động cập nhật khi có sự thay đổi trong DOM. Nếu có thêm hoặc xóa phần tử mà phù hợp với điều kiện tìm kiếm, HTMLCollection sẽ tự động cập nhật.

  • NodeList có thể là "live" hoặc "static". Một số phương thức như querySelectorAll trả về NodeList live, nghĩa là nó sẽ tự động cập nhật khi có thay đổi trong DOM. Ngược lại, một số phương thức khác như childNodes trả về NodeList static, nghĩa là nó không cập nhật khi có thay đổi trong DOM.

Theo cách tạo ra

  1. Với các phương thức getElementsByClassName() và getElementsByTagName() methods sẽ trả về 1 live HTMLCollection.
  2. Với phương thức querySelectorAll() method sẽ trả về 1 static NodeList. Với thuộc tính childNodes property sẽ trả về 1 live NodeList.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Một số quy tắc và name class phổ biến cho Front-end Dev

Trong CSS, các thủ tục setting đóng vai trò to lớn, nhưng bên cạnh đó, cách đặt tên theo các từ đơn sao cho phù hợp cũng quan trọng không kém . Đặt tên rất khó, nhưng cũng rất quan trọng .

0 0 79

- vừa được xem lúc

2021, chúng ta cần tối ưu hóa việc tải hình ảnh trên web như nào?

Rất chào các bạn,. Như các bạn đã biết, trong kỉ nguyên công nghệ, song song với sự sinh ra dày đặc của các trang web mới cũng là sự biến mất của những trang web "lạc hậu" hay hoạt động kém hiệu quả.

0 0 44

- vừa được xem lúc

Tài nguyên nghiên cứu sâu Html

1. Articles and standards. . HTML 5.

0 0 183

- vừa được xem lúc

Tìm hiểu về Event.preventDefault(), Event.stopPropagation() và Event.stopImmediatePropagation()

Chúng ta thương thấy 3 method này và có thể dẫn dến bối rối và nhầm lẫn giữa chúng:. . Event.preventDefault().

0 0 36

- vừa được xem lúc

Vanilla JS Project: Tính tuổi

1. Yêu cầu.

0 0 51

- vừa được xem lúc

Thủ thuật nhỏ để căn chỉnh image với object-fit

Chào các bạn,. Có lẽ trong hành trình code của các bạn thì không ít lần gặp vấn đề méo ảnh do fix cứng cả width, height của ảnh nhỉ? Hoặc kể cả khi bạn set value cho 1 thuộc tính weigth hoặc height còn thuộc tính còn lại để auto thì nhiều lúc ảnh cũng không được hiển thị toàn vẹn cho lắm.

0 0 34