).
Text Node: Represents the text within an element.
Attribute Node: Represents the attributes of an element (e.g., class, id).
Comment Node: Represents comments in the HTML.
Example DOM Tree
<!DOCTYPE html>
<html>
<head>
<title>My Page</title>
</head>
<body>
<h1>Hello, World!</h1>
<p>This is a paragraph.</p>
</body>
</html>
Copy after login
DOM Representation:
Document
├── html (Element)
│ ├── head (Element)
│ │ └── title (Element)
│ │ └── "My Page" (Text)
│ └── body (Element)
│ ├── h1 (Element)
│ │ └── "Hello, World!" (Text)
│ └── p (Element)
│ └── "This is a paragraph." (Text)
Copy after login
Accessing the DOM
Selecting Elements
-
getElementById: Selects a single element by its ID.
const element = document.getElementById('myId');
Copy after login
-
getElementsByClassName: Returns a live HTMLCollection of elements with the specified class name.
const elements = document.getElementsByClassName('myClass');
Copy after login
-
getElementsByTagName: Returns a live HTMLCollection of elements with the specified tag name.
const elements = document.getElementsByTagName('div');
Copy after login
-
querySelector: Selects the first element that matches a CSS selector.
const element = document.querySelector('.myClass');
Copy after login
-
querySelectorAll: Returns a static NodeList of all elements that match a CSS selector.
const elements = document.querySelectorAll('div.myClass');
Copy after login
Manipulating Elements
const element = document.getElementById('myId');
element.textContent = 'New Content';
Copy after login
const element = document.getElementById('myId');
element.setAttribute('class', 'newClass');
Copy after login
const element = document.getElementById('myId');
element.style.color = 'blue';
Copy after login
-
Creating and Appending Elements:
const newElement = document.createElement('div');
newElement.textContent = 'I am a new div';
document.body.appendChild(newElement);
Copy after login
const element = document.getElementById('myId');
element.parentNode.removeChild(element);
Copy after login
DOM Events
Events are actions or occurrences that happen in the browser, and you can respond to them with event handlers.
Adding Event Listeners
const button = document.getElementById('myButton');
button.addEventListener('click', function() {
alert('Button clicked!');
});
Copy after login
Common Events
-
click: Triggered when an element is clicked.
-
mouseover: Triggered when the mouse hovers over an element.
-
keydown: Triggered when a key is pressed down.
-
submit: Triggered when a form is submitted.
Conclusion
Understanding the DOM is essential for web development, as it provides a way to interact with and manipulate web pages. Mastering DOM manipulation will allow you to create dynamic and interactive web applications.
Feel free to dive deeper into the documentation and experiment with the various methods and properties available in the DOM API. Happy coding!
The above is the detailed content of Understanding the Document Object Model (DOM). For more information, please follow other related articles on the PHP Chinese website!