KHOA CNTT - TUD
Javascript HTML DOM
Trần Khải Hoàng
Khoa CNTT – TỨD.
ĐH Tôn Đức Thắng
Nội dung
DOM (Document Object Model) : Là một mô hình chuẩn cho phép
ngôn ngữ lập trình có thể truy xuất và thay đổi động nội dung, cấu trúc,
định dạng cuar 1 văn bản.
HTML DOM : là mô hình chuẩn cho văn bản HTML
Toàn bộ trang là document node
Mỗi thẻ là 1 HTML node
Văn bản trong 1 thẻ là text node
Các thuộc tính trong thẻ là các attribute
Thông qua HTML DOM, ta có thể lấy, thay đổi, thêm hay xóa bất kỳ 1
element nào trong trang web
2
Ví dụ HTML DOM
3
Cây HTML
HTML DOM coi trang HTML là 1 cây
4
Quan hệ giữa các node
Các node trong cây HTML có mối quan hệ phân cấp với nhau
Các từ cha, con, anh em dùng để mô tả các mối quan hệ này.
Các node cha có các node con, các node anh em là các node
có cùng cấp
Trong 1 cây HTML, node trên cùng là root (gốc)
Mọi node (trừ root) đề có duy nhất 1 node cha
1 node có thể có nhiều node con
Node lá là node không có node con
Node anh em là node có cùng node cha
5
Mô hình quan hệ giữa các node
Quan hệ giữa các node
Lấy 1 node
Mỗi node trong HTML là 1 đối tượng. Ta có thể lấy đối tượng bằng
cách :
X.getElementById ( id) : lấy element có id cung cấp trong node
X
X.getElementByTagName( name) : lấy danh sách các
element có name cung cấp trong node X
8
Thuộc tính 1 node
X.innerHTML : văn bản trong X
X.nodeName : tên của X
X.nodeValue : giá trị của X
X.parentNode : node cha của X
X.childNodes : các node con của X
X.attributes : các thuộc tính của X
X.firstChild : node con đầu tiên của X
X.lastChild : node con cuối của X
Trong đó X là 1 node trong HTML DOM
innerHTML vs outerHTML
a outerHTML
Hello World
innerHTML
Ví dụ innerHTML
Thêm, xóa 1 node
X.appendChild ( Y) : thêm node Y vào làm con node X
X.removeChild ( Y ) : xóa node Y ra khỏi con node X
document.createTextNode(“Text”) : tạo 1 node văn bản
document.createElement(TagName) : tạo 1 node có là thẻ
Làm việc với thuộc tính
Ta có thể thêm, xóa, cập nhật thuộc tính của 1 node như sau :
X.getAttribute(“Attribute name”) : Lấy giá trị 1 attribute
X.setAttribute(“Attribute name”,”Attribute value”) : Thêm hay set lại giá
trị 1 attribute
X.removeAttribute(“Attribute name”) : Xóa 1 attribute
Ví dụ
Định dạng node
Các node biểu diễn 1 thẻ đều có thuộc tính style dùng để định dạng
Cách thay đổi định dạng 1 node :
Thay đổi background