Tương tác với HTML DOM bằng JavaScript và jQuery
Javascript căn bản | by
Trong phát triển web hiện đại, việc tạo ra những giao diện tương tác và phản hồi linh hoạt không chỉ là yêu cầu mà còn là tiêu chuẩn để nâng cao trải nghiệm người dùng. Để làm được điều đó, lập trình viên cần thao tác trực tiếp với DOM (Document Object Model) – nơi đại diện cho toàn bộ cấu trúc HTML của một trang web dưới dạng cây đối tượng có thể truy cập và chỉnh sửa bằng mã lệnh.
JavaScript là ngôn ngữ cốt lõi được dùng để điều khiển DOM một cách chi tiết và mạnh mẽ. Tuy nhiên, khi cần thao tác nhanh chóng, ngắn gọn và tương thích tốt với các trình duyệt, jQuery – một thư viện JavaScript phổ biến – vẫn là lựa chọn đáng tin cậy. Cả hai công cụ đều cho phép lập trình viên thay đổi nội dung, cấu trúc, kiểu dáng và hành vi của trang web ngay trong thời gian thực.
Trong bài viết này, chúng ta sẽ cùng tìm hiểu cách tương tác với HTML DOM bằng JavaScript và jQuery, từ thao tác cơ bản như chọn phần tử, chỉnh sửa nội dung đến xử lý sự kiện và tạo phần tử mới. Qua đó, bạn sẽ thấy được ưu – nhược điểm của từng công cụ và cách ứng dụng chúng một cách hiệu quả trong phát triển web.
Khái quát về HTML DOM trong JavaScript
Khái niệm DOM (Document Object Model)
DOM (Document Object Model) là một mô hình tài liệu dạng đối tượng, cho phép lập trình viên truy cập và thao tác với nội dung, cấu trúc và kiểu dáng của một trang web thông qua JavaScript hoặc các thư viện hỗ trợ như jQuery.
Hiểu đơn giản, DOM chuyển đổi trang HTML thành một cấu trúc dạng cây mà ở đó, mỗi phần tử HTML trở thành một đối tượng có thể thao tác bằng mã lệnh.
Thông qua DOM, ta có thể:
-
Thay đổi nội dung văn bản.
-
Thêm hoặc xóa phần tử HTML.
-
Gắn sự kiện (event) cho các phần tử.
-
Thay đổi thuộc tính và CSS của phần tử.
DOM không phải là HTML, mà là một bản mô tả động của trang HTML được trình duyệt xây dựng để cho phép tương tác bằng mã.
Cấu trúc DOM – cây DOM
DOM được trình bày dưới dạng cây phân cấp (tree structure), gọi là DOM tree. Mỗi nút (node) trong cây này đại diện cho một phần tử, thuộc tính, văn bản hay sự kiện của trang.
Ví dụ đoạn HTML:
<!DOCTYPE html> <html> <body> <h1>Hello World</h1> <p>Đây là đoạn văn.</p> </body> </html>
Cây DOM tương ứng:
- document └── html ├── head └── body ├── h1 (Hello World) └── p (Đây là đoạn văn.)
Mỗi thẻ HTML là một element node, mỗi đoạn văn bản là một text node, toàn bộ tài liệu là document object. Thông qua DOM, ta có thể truy cập và thao tác trên bất kỳ nút nào trong cây.
DOM và mối quan hệ với HTML
-
HTML chỉ định nội dung và cấu trúc của trang.
-
DOM là bản đại diện của HTML dưới dạng đối tượng mà trình duyệt tạo ra khi trang được tải.
-
Khi trình duyệt đọc HTML, nó tạo ra DOM để lập trình viên có thể thao tác bằng JavaScript.
Ví dụ: HTML có dòng:
<p id="info">Thông tin</p>
Khi đó, JavaScript có thể truy cập:
document.getElementById("info").innerText = "Nội dung đã thay đổi";
DOM chính là cầu nối giữa HTML tĩnh và JavaScript động.
Các thành phần thường thao tác trong DOM
Dưới đây là các thành phần DOM mà lập trình viên thường xuyên làm việc:
Thành phần | Mô tả |
---|---|
Thẻ HTML | Là các element node như <div> , <p> , <img> , <a> ,... |
Thuộc tính | Các attribute như id , class , src , href , alt , style ,... |
Nội dung | Văn bản hiển thị trong các thẻ (text node ) |
Sự kiện (events) | Các hành động người dùng như click , hover , input , submit ... |
CSS/Style | Thuộc tính giao diện: màu sắc, font chữ, kích thước, hiển thị,... |
Thông qua JavaScript hoặc jQuery, ta có thể thêm, xoá, chỉnh sửa hoặc phản hồi các thành phần trên một cách linh hoạt.
Tương tác với DOM trong JavaScript
Chọn phần tử DOM
Để thao tác DOM bằng JavaScript, bước đầu tiên là chọn đúng phần tử HTML cần xử lý. JavaScript cung cấp nhiều phương thức để chọn phần tử:
getElementById(id)
Chọn duy nhất một phần tử theo id
.
const title = document.getElementById("mainTitle");
getElementsByClassName(class)
-
Chọn danh sách phần tử có cùng
class
.
const items = document.getElementsByClassName("menu-item");