With the DOM, you can access every node in an HTML document.
Accessing Nodes
You can access a node in three ways:- By using the getElementById() method
- By using the getElementsByTagName() method
- By navigating the node tree, using the node relationships
The getElementById() Method
The getElementById() method returns the element with the specified ID:Syntax
| node.getElementById("id"); |
Example
document.getElementById("intro");Note: The getElementById() method doesn't work in XML.
The getElementsByTagName() Method
getElementsByTagName() returns all elements with a specified tag name.Syntax
| node.getElementsByTagName("tagname"); |
Example 1
document.getElementsByTagName("p");The following example returns a nodeList of all <p> elements that are descendants of the element with id="main":
Example 2
document.getElementById('main').getElementsByTagName("p");DOM Node List
The getElementsByTagName() method returns a node-list. A node-list is an array of nodes.The following code selects all <p> nodes in a node-list:
Example
| x=document.getElementsByTagName("p"); |
y=x[1];
Note: The index starts at 0.
You will learn more about node-lists in a later chapter of this tutorial.
DOM Node List Length
The length property defines the number of nodes in a node-list.You can loop through a node-list by using the length property:
Example
x=document.getElementsByTagName("p");for (i=0;i<x.length;i++)
{
document.write(x[i].innerHTML);
document.write("<br />");
}
Example explained:
- Get all <p> element nodes
- For each <p> element, output the value of its text node
Navigating Node Relationships
The three properties; parentNode, firstChild, and lastChild, follow the document structure and allow short-distance travel in a document.Look at the following HTML fragment:
| <html> <body> <p>Hello World!</p> <div> <p>The DOM is very useful!</p> <p>This example demonstrates node relationships.</p> </div> </body> </html> |
The firstChild property can also be used to access the text of an element:
Example
<html><body>
<p id="intro">Hello World!</p>
<script type="text/javascript">
x=document.getElementById("intro");
document.write(x.firstChild.nodeValue);
</script>
</body>
</html>
DOM Root Nodes
There are two special document properties that allow access to the tags:- document.documentElement - returns the root node of the document
- document.body - gives direct access to the <body> tag
No comments:
Post a Comment