Dom khác với html như thế nào?
Các trang web hiện đại rất năng động. Điều này có nghĩa là chúng tôi cần một cách phù hợp và thuận tiện để sửa đổi và thao tác cấu trúc của tài liệu web Show
Chẳng hạn, sự sửa đổi này trong tài liệu HTML thường ở dạng tạo, thêm hoặc xóa các phần tử trong tài liệu Trong bài viết này, bạn sẽ tìm hiểu Mô hình Đối tượng Tài liệu (DOM) là gì, một chút về lịch sử của nó và cách bạn sử dụng nó để thao tác với các tài liệu web, đặc biệt là các tài liệu HTML Mô hình đối tượng tài liệu (DOM) là gì?DOM là một giao diện web, được phát triển và phát hành bởi World Wide Web Consortium (W3C). Tổ chức này được thành lập để thiết lập các tiêu chuẩn cho World Wide Web DOM là một API web trung lập về ngôn ngữ. Điều này có nghĩa là bạn có thể triển khai và áp dụng nó trong bất kỳ ngôn ngữ lập trình nào DOM đại diện cho các phần cấu trúc của tài liệu web dưới dạng các đối tượng có thể được truy cập và thao tác. Nói cách khác, DOM cho phép bạn với tư cách là nhà phát triển phần mềm thực hiện những việc sau.
Lịch sử của DOMLịch sử của DOM có liên quan đến JavaScript và JScript là ngôn ngữ kịch bản được sử dụng rộng rãi đầu tiên. Những ngôn ngữ này đã giúp làm cho các trang web tương tác Trước khi W3C phát triển đặc tả DOM tiêu chuẩn, JavaScript và JScript có các cách khác nhau để cho phép truy cập vào thao tác tài liệu HTML Các phương thức và giao diện hạn chế này cho phép bạn thao tác các tài liệu HTML theo cách này đã trở thành DOM Cấp 0 Năm 1998, W3C hoàn thành dự thảo đặc tả DOM tiêu chuẩn đầu tiên, trở thành tiêu chuẩn khuyến nghị cho tất cả các trình duyệt. Đặc tả DOM tiêu chuẩn này đã trở thành DOM Cấp 1. DOM cấp 1 đã cung cấp một mô hình toàn diện để thao tác với cả tài liệu HTML và XML Năm 2000, W3C đã phát hành DOM Cấp 2, giới thiệu các phương thức như 5, cũng như mô hình sự kiện được tiêu chuẩn hóa và hỗ trợ cho các không gian tên XML và CSSDOM Cấp 3, phát hành năm 2004, đã thêm hỗ trợ cho XPath và xử lý sự kiện bàn phím. Và vào cuối năm 2015, đặc tả DOM mới nhất, DOM Cấp 4, đã trở thành tiêu chuẩn được công bố Cây DOM là gì?Biểu diễn cấu trúc do DOM tạo ra rất giống một cái cây. Nó có một số đối tượng trong đó được gọi là các nút Trình duyệt sử dụng biểu diễn cây DOM mà nó xây dựng từ tài liệu HTML để xác định nội dung sẽ hiển thị trên trang web. Ví dụ: một biểu diễn trực quan của cây DOM sẽ trông như thế này Cây DOMTài liệu HTML của cây DOM ở trên trông như thế này.
Các nút so với các phần tử trong DOMThông thường, các nhà phát triển nhầm lẫn các nút với các phần tử. Vì vậy, chúng ta nên phân biệt giữa hai sớm trong bài viết này để tránh nhầm lẫn Các nút là tất cả các thành phần mà một tài liệu trang web được tạo thành từ. Nói cách khác, một trang web là tập hợp các nút Một phần tử là một loại nút trong tài liệu. Chẳng hạn, thuộc tính DOM 6 khi được sử dụng trên nút cha sẽ trả về tất cả các nút khác nhau có trong nút cha được chỉ định đóTrong ví dụ bên dưới, thuộc tính childNodes được sử dụng trên nút phần tử 7 của tài liệu HTML được cung cấp ở trên
Lưu ý rằng có năm mục trong 8. Điều này là do chúng ta có một loại nút khác, các nút văn bản, khác với các nút phần tử trong nút phần tử 7Để điều tra thêm về vấn đề này, hãy thực hiện các bước sau trong bảng điều khiển của bạn
Nếu làm theo hướng dẫn ở trên, bạn sẽ thấy nội dung kiểm tra của nút văn bản đầu tiên là "/n ". Đây là một nút văn bản cho biết một dòng mới sau nút phần tử 7, nút phần tử 1 và nút phần tử 2Mối quan hệ giữa các nút trong cây DOMCác nút trong cây DOM có mối quan hệ thứ bậc với nhau trong cây DOM. Chúng được xác định bởi vị trí của chúng so với nhau trong cây DOM Đây là các vị trí nút có trong hình minh họa cây DOM ở trên
HTMLCollection so với nodeListĐể thao tác trên cây DOM, bạn cần có cách chọn từng mục riêng lẻ hoặc tập hợp các mục trong đó Bạn có thể sử dụng một ngôn ngữ lập trình như JavaScript để chọn một mục hoặc một tập hợp các mục trong cây DOM bằng cách sử dụng một số phương thức do DOM cung cấp Các phương pháp 5 và 47 có thể chọn các mục riêng lẻ. Các phương pháp 48, 49 hoặc 70 có thể chọn một tập hợp các mụcTrong cây DOM, chúng ta có thể lấy HTMLCollection hoặc NodeList dựa trên phương thức được sử dụng để chọn tập hợp các mục. Các phương thức 48 và 49 trả về HTMLCollections, trong khi 73 trả về một nodeListHTMLCollection và nodeList chia sẻ một số điểm tương đồng và khác biệt. Chúng giống nhau theo những cách sau
Dưới đây là một tài liệu HTML mẫu và mã JavaScript để nhấn mạnh những điểm tương đồng này
Bạn có thể thấy ở trên rằng trong khi 75 trả về một HTMLCollection với các mục khớp với thẻ 76 được chỉ định, thì 73 trả về một nodeListBây giờ, hãy sử dụng một for. vòng lặp để lặp lại trên cả hai bộ sưu tập 4Trong cả hai trường hợp, màu của văn bản sẽ được đổi thành màu đỏ Bây giờ hãy xóa for. lặp lại vòng lặp và sử dụng một phương thức mảng trên bản đồ để lặp lại cả hai bộ sưu tập 7Để sử dụng thành công phương pháp mảng bản đồ, bạn phải chuyển đổi cả hai mục thành một mảng bằng phương pháp 74 như thế này. 0Có hai cách chính trong đó HTMLCollection và một nodeList khác nhau. họ đang
Phương thức HTML DOMLõi DOM cấp 1, lõi Dom cấp 2 và lõi Dom cấp 3 đã giới thiệu một số phương pháp cho phép các nhà phát triển web thao tác trên cây DOM. Một số phương pháp sau đây Phương pháp DOM //javascript content //select the element node with the DOM method querySelector const body = document.querySelector('body') //select the children nodes with the element node with the DOM property node.childNodes const childrenNodes = body.childNodes //console log the children nodes console.log(childrenNodes)//NodeList(5) [text, div, text, a, text]04Phương thức 04 tạo một phần tử thuộc loại được chỉ định làm đối số của nó 8 9Bây giờ hãy kiểm tra bảng điều khiển để biết bảng điều khiển danh sách đã đăng nhập. Bạn sẽ thấy rằng hiện có 5 phần tử 76 bên trong phần tử cha 07Phương pháp DOM //javascript content //select the element node with the DOM method querySelector const body = document.querySelector('body') //select the children nodes with the element node with the DOM property node.childNodes const childrenNodes = body.childNodes //console log the children nodes console.log(childrenNodes)//NodeList(5) [text, div, text, a, text]08Phương thức 08 tạo một nút văn bản với chuỗi được chỉ định làm đối số của nó. Hãy thêm văn bản vào phần tử 76 mà chúng ta đã tạo ở trên 5Bây giờ hãy lưu tệp JavaScript của bạn và tải lại trang web của bạn Phương pháp DOM //javascript content //select the element node with the DOM method querySelector const body = document.querySelector('body') //select the children nodes with the element node with the DOM property node.childNodes const childrenNodes = body.childNodes //console log the children nodes console.log(childrenNodes)//NodeList(5) [text, div, text, a, text]81Phương thức 81 thêm một nút vào cuối danh sách con của nút chaNếu con được chỉ định là một nút hiện có trong tài liệu, thì 81 sẽ di chuyển nó từ vị trí hiện tại trên cây DOM sang vị trí mới. Chúng tôi đã sử dụng phương pháp trước đó để biến phần tử 76 mới tạo của chúng tôi thành phần tử con của phần tử 07Phương pháp DOM
|