Em mới học về lập trình Web (HTML, CSS cơ bản, JS viết được mấy cái console.log và phép tính), nay em mới học đến DOM thì em hơi bị rối. Mong mn (dù mới học hay pro rồi) giải đáp giúp với ạ
Code:
const paragraphs = document.querySelectorAll("p");
// paragraphs[0] is the first <p> element
// paragraphs[1] is the second <p> element, etc.
alert(paragraphs[0].nodeName);
Thứ nhất là em vẫn chưa hiểu rõ lắm DOM là gì? Nếu search Google thì nó lại ra khái niệm DOM là web API gì đó, nhưng lúc đó lại có câu hỏi: API là gì???
Ví dụ trong đoạn code trên, thì
document
(có vẻ như là một object), sau đó dùng . để truy cập vào method của object đó là method
querrySelectorAll()
. Thì cái
document
, và method
querrySelectorAll
đó ở đâu ra vậy (mình không hề viết, cũng như không include/import gì như trong C++/Java mà tại sao vẫn dùng được), hay những object đó là JS có sẵn rồi?
Thứ hai là DOM có phải là một phần của NNLT JavaScript không? Có phải chỉ NNLT JS mới dùng/thao tác được với DOM không, hay các NNLT khác như C/C++ cũng có thể thao tác được với DOM? Tại sao lại hay dùng JS để thao tác với DOM?
Thứ nữa là tại sao phải có DOM? Theo như em tìm hiểu thì HTML sau khi được Web browser (Google Chrome, IE, FF) load thì sẽ tiến hành parse HTML -> biến thành một tree gồm các nodes, mỗi node là một object. Lí do bởi vì JS là một NNLT có OOP (tức sẽ thao tác với các object), việc parse HTML (chuyển từ elements/tage biến thành object) nhằm giúp JS thao tác được với các object này, qua đó sửa/xóa các object -> giúp website response được với interact của người dùng? Không biết em hiểu như này có đúng chưa?