Các phần tử và nút HTML DOM (DOM Nodes) trong JavaScript
JavaScript HTML DOM | by
Trong lập trình JavaScript, HTML DOM (Document Object Model) đóng vai trò quan trọng trong việc tương tác và thao tác với nội dung của trang web. Trong đó, DOM Nodes là các thành phần cơ bản tạo nên cấu trúc của một tài liệu HTML, giúp lập trình viên có thể truy cập, thay đổi và quản lý các phần tử một cách linh hoạt.
Việc hiểu rõ các loại DOM Nodes như Element Node, Attribute Node, Text Node, Comment Node và cách thao tác với chúng không chỉ giúp tối ưu hiệu suất mà còn nâng cao khả năng kiểm soát giao diện web. Bài viết này sẽ giúp bạn tìm hiểu chi tiết về các loại DOM Nodes, cách sử dụng chúng trong JavaScript, cũng như ứng dụng thực tế trong phát triển web.
DOM Nodes trong JavaScript
Khái niệm DOM Nodes là gì?
Trong HTML DOM (Document Object Model), mọi thành phần trong tài liệu HTML đều được biểu diễn dưới dạng một Node (nút). Mỗi thẻ HTML, thuộc tính, đoạn văn bản hay thậm chí là chú thích trong mã nguồn HTML đều là một node trong cây DOM.
Cấu trúc của một tài liệu HTML được thể hiện dưới dạng cây DOM Tree, trong đó:
-
Mỗi phần tử HTML (như <div>, <p>, <h1>) là một Element Node.
-
Nội dung văn bản bên trong thẻ là một Text Node.
-
Các thuộc tính (như id, class, href) là Attribute Nodes.
-
Các chú thích HTML (<!-- comment -->) là Comment Nodes.
-
Tài liệu HTML gốc (document) là Document Node.
Ví dụ về DOM Tree của một đoạn HTML đơn giản:
<!DOCTYPE html> <html> <head> <title>DOM Nodes Example</title> </head> <body> <h1 id="title">Chào mừng đến với DOM!</h1> <p class="description">Đây là một đoạn văn bản.</p> </body> </html>
Mô hình DOM tương ứng:
Document ├── <html> │ ├── <head> │ │ ├── <title> → (Text Node: "DOM Nodes Example") │ ├── <body> │ ├── <h1 id="title"> → (Text Node: "Chào mừng đến với DOM!") │ ├── <p class="description"> → (Text Node: "Đây là một đoạn văn bản.")
Vai trò của DOM Nodes trong cấu trúc HTML DOM
DOM Nodes đóng vai trò quan trọng trong việc biểu diễn và thao tác với nội dung của trang web. Một số vai trò chính bao gồm:
1. Biểu diễn cấu trúc tài liệu HTML dưới dạng cây DOM
-
DOM Nodes giúp trình duyệt hiểu và hiển thị nội dung trang web theo dạng cây phân cấp.
-
Lập trình viên có thể dễ dàng truy cập từng phần tử, chỉnh sửa hoặc thay đổi nội dung trang web.
2. Hỗ trợ tương tác động với trang web
-
Cho phép JavaScript thao tác với nội dung HTML theo thời gian thực.
-
Ví dụ: Khi người dùng nhập dữ liệu vào form, JavaScript có thể kiểm tra giá trị và hiển thị cảnh báo nếu nhập sai.
3. Giúp thao tác với các phần tử HTML linh hoạt hơn
-
Có thể thêm/xóa/sửa phần tử hoặc nội dung mà không cần tải lại trang.
-
Ví dụ: Tạo danh sách sản phẩm động mà không cần chỉnh sửa trực tiếp HTML.
4. Hỗ trợ xử lý sự kiện trong trang web
-
Cho phép bắt sự kiện từ người dùng như click, nhập liệu, di chuột,…
-
Ví dụ: Hiển thị popup khi người dùng nhấn nút.
5. Tạo điều kiện thuận lợi cho các hiệu ứng động
-
Sử dụng JavaScript kết hợp với CSS để tạo hiệu ứng chuyển động, thay đổi giao diện.
-
Ví dụ: Ẩn/hiện menu khi nhấn vào biểu tượng.
Các loại DOM Nodes trong JavaScript
DOM (Document Object Model) tổ chức tài liệu HTML dưới dạng một cây DOM Tree, trong đó mỗi thành phần trong HTML được biểu diễn dưới dạng một Node (nút). Các loại DOM Nodes quan trọng trong JavaScript bao gồm:
Element Node (Nút phần tử)
-
Element Node là đại diện cho các thẻ HTML như
<div>
,<p>
,<h1>
,<span>
,<a>
,… -
Mỗi phần tử HTML là một Element Node, có thể chứa các Attribute Nodes (thuộc tính), Text Nodes (nội dung văn bản) hoặc các Element Nodes khác (phần tử con).
Ví dụ về Element Node trong HTML:
<h1 id="title" class="header">Chào mừng đến với DOM!</h1>