Trong bài này, chúng ta sẽ tìm hiểu một phần rất quan trọng là DOM – xử lý các phần tử HTML trong Javascript. Qua bài học này, chúng ta sẽ biết các truy xuất, lấy dữ liệu, các thuộc tính từ các thẻ html, cũng như cách thêm, xóa các thẻ html.

Bạn đang xem: Document.getelementbyid là gì

Bạn đang xem: Document.getelementbyid là gì


Video – DOM – Xử lý các phần tử HTML trong Javascript

Hướng dẫn chi tiết

DOM là gì?

DOM là tên gọi tắt của (Document Object Model – tạm dịch Mô hình Đối tượng Tài liệu), là một chuẩn được định nghĩa bởi W3C dùng để truy xuất và thao tác trên các tài liệu có cấu trúc dạng HTML hay XML bằng các ngôn ngữ lập trình thông dịch (scripting language) như Javascript, PHP, Python. Trong phạm vi bài học này, mình sẽ dùng ngôn ngữ Javascript và HTML DOM

Đối với HTML DOM, mọi thành phần đều được xem là 1 nút (node), được biểu diễn trên 1 cây cấu trúc dạng cây gọi là DOM Tree. Các phần tử khác nhau sẽ được phân loại nút khác nhau nhưng quan trọng nhất là 3 loại: nút gốc (document node), nút phần tử (element node), nút văn bản (text node).


*

DOM – Xử lý các phần tử HTML trong Javascript

Nút gốc: chính là tài liệu HTML, thường được biểu diễn bởi thẻ .

Nút phần tử: biểu diễn cho 1 phần tử HTML.

Nút văn bản: mỗi đoạn kí tự trong tài liệu HTML, bên trong 1 thẻ HTML đều là 1 nút văn bản. Đó có thể là tên trang web trong thẻ , tên đề mục trong thẻ , hay một đoạn văn trong thẻ .

Ngoài ra còn có nút thuộc tính (attribute node) và nút chú thích (comment node).

Mong các bạn dành vài giây cho QUẢNG CÁONói chung đây là một quảng cáo về Hosting Azdigi để Góc Làm Web sẽ có một ít tiền để duy trìMình đang sử dụng và thấy nó nhanh, rẻ và dễ sử dụng. Các bạn dùng thử nhé.Link đăng ký: https://my.azdigi.com/aff.php?aff=1612Các thuộc tính của nút phần tử element

Thuộc tínhÝ nghĩa
idĐịnh danh – là duy nhất cho mỗi phần tử nên thường được dùng để truy xuất DOM trực tiếp và nhanh chóng.
classNameTên lớp – Cũng dùng để truy xuất trực tiếp như id, nhưng 1 className có thể dùng cho nhiều phần tử.
tagNameTên thẻ HTML.
innerHTMLTrả về mã HTML bên trong phần tử hiện tại. Đoạn mã HTML này là chuỗi kí tự chứa tất cả phần tử bên trong, bao gồm các nút phần tử và nút văn bản.
outerHTMLTrả về mã HTML của phần tử hiện tại. Nói cách khác, outerHTML = tagName + innerHTML.
textContentTrả về 1 chuỗi kí tự chứa nội dung của tất cả nút văn bản bên trong phần tử hiện tại.
attributesTập các thuộc tính như id, name, class, href, title…
styleTập các thiết lập định dạng của phần tử hiện tại.
valueLấy giá trị của thành phần được chọn thành một biến.

Các phương thức xử lý các nút phần tử

Phương thứcÝ nghĩa
getElementById(id)Tham chiếu đến 1 nút duy nhất có thuộc tính id giống với id cần tìm.
getElementsByTagName(tagname)Tham chiếu đến tất cả các nút có thuộc tính tagName giống với tên thẻ cần tìm, hay hiểu đơn giản hơn là tìm tất cả các phần tử DOM mang thẻ HTML cùng loại. Nếu muốn truy xuất đến toàn bộ thẻ trong tài liệu HTML thì hãy sử dụng document.getElementsByTagName(‘*’).
getElementsByName(name)Tham chiếu đến tất cả các nút có thuộc tính name cần tìm.
getAttribute(attributeName)Lấy giá trị của thuộc tính.

Xem thêm: Tiểu Sử Hòa Thượng Thích Trí Tịnh, Nhận Định Về Hòa Thượng Thích Trí Tịnh

setAttribute(attributeName, value)Sửa giá trị của thuộc tính.
appendChild(node)Thêm 1 nút con vào nút hiện tại.
removeChild(node)Xóa 1 nút con khỏi nút hiện tại.

Truy xuất các phần tử

Có 2 phương pháp truy xuất các phần tử trong DOM là truy xuất gián tiếp (dựa theo vị trí của phần tử so với nút gốc để truy xuất), và truy xuất trực tiếp (dựa theo các định danh như id, class, tag name … để truy xuất).

Mình sẽ dùng phương pháp trực tiếp, vì nó chính xác vì dễ dàng hơn.

Truy xuất và lấy giá trị, thuộc tính

Muốn lấy giá trị, chúng ta phải xác định được phần tử html. Các bạn xem ví dụ sau nhé:

Chúng ta sẽ lấy valuethuộc tính tự định nghĩa là gia_tri của input và xuất ra div bên dưới

Hướng dẫn:

+ Dùng phương thức getElementById(“input_1”) để xác định phần tử cần xử lý

+ Lấy dữ liệu của thuộc tính value bằng cách truy xuất thuộc tính value của phần tử

+ Lấy dữ liệu của thuộc tính tự định nghĩa gia_tri bằng phương thức getAttribute(“gia_tri)

+ Lấy dữ liệu trong phần tử khối div bằng cách truy xuất thuộc tính innerHTML. Ngược lại, để gán giá trị bên trong khối div bằng cách gán thuộc tính innerHTML.

Thêm thuộc tính cho phần tử

Vẫn với đoạn code bên trên, chúng ta sẽ thêm thuộc tính readonly cho input

Set Read only+ Dùng sự kiện onclick để chạy hàm js. Về phần sự kiện – event, mình sẽ nói rõ trong bài học sau.

+ Sử dụng phương thức getElementById() để xác định phần tử.

+ Sử dụng phương thức setAttribute(“tên thuộc tính”, gái trị) để thêm thuộc tính.

Thêm xóa hoặc thay thế phần tử

Chúng ta sẽ thêm một phần tử vào bên trong một phần tử khác trong ví dụ sau:

Khối sẽ được thêm phần tử vào bên trong

Thêm thẻ h1

+ Xác định phần tử sẽ thêm vào bằng phương thức getElementById()

+ Khởi tạo phần tử con được thêm vào bằng phương thức createElement()

+ Thêm giá trị cho phần tử bằng cách gán thuộc tính innerHTML.

+ Dùng phương thức appendChild() để thêm phần tử được khởi tạo.

Truy xuất và thay đổi thuộc tính CSS của phần tử, thẻ html

Chúng ta có khối div màu xanh như sau:

Chúng ta sẽ truy xuất là xem thuộc tính css là margin, và chỉnh sửa đổi màu cho khối này.

+ Xác định phần từ.

+ Truy xuất thuộc tính css của khối div bằng cách truy xuất thuộc tính style của phần tử vừa xác định.

+ Thay đổi thuộc tính background-color bằng cách gán lại thuộc tính style.backgroundColor cho phần tử.

Lưu ý: Các thuộc tính css như background-color, margin-top … sẽ được viết lại bằng cách bỏ dấu gạch ngangviết hoa chữ cái đầu mỗi từ ( trừ từ đầu tiên).

Đó là tất cả nội dung của bài học. Các bạn xem video nếu cần hướng dẫn chi tiết nhé.

Code mẫu: Download

Nếu có thắc mắc, hãy đặt câu hỏi bằng cách comment bên dưới, qua email, hoặc nhắn tin qua Fanpage Góc làm web.

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *