HTML DOM Access Nodes

|  | Search W3Schools : |

HOME | HTML | CSS | XML | JAVASCRIPT | ASP | PHP | SQL | MORE... |  | References | Examples | Forum | About

ADVERTISEMENTS XML Certification Download XML editor Custom Programming |  |

Table of contents

HTML DOM
DOM HOME
DOM Intro
DOM Nodes
DOM Node Tree
DOM Methods
DOM Node Access
DOM Node Info
DOM How To
DOM Events
DOM Reference
DOM Summary
DOM Examples
DOM Examples
DOM Objects
DOM Window
DOM Navigator
DOM Screen
DOM History
DOM Location
DOM Document
DOM Anchor
DOM Area
DOM Base
DOM Body
DOM Button
DOM Event
DOM Form
DOM Frame
DOM Frameset
DOM IFrame
DOM Image
DOM Input Button
DOM Input Checkbox
DOM Input File
DOM Input Hidden
DOM Input Password
DOM Input Radio
DOM Input Reset
DOM Input Submit
DOM Input Text
DOM Link
DOM Meta
DOM Object
DOM Option
DOM Select
DOM Style
DOM Table
DOM TableCell
DOM TableRow
DOM Textarea

Selected Reading

Web Statistics
Web Glossary
Web Hosting
Web Quality
W3Schools Tutorials
W3Schools Forum
Helping W3Schools

# HTML DOM Access Nodes

With the DOM, you can access every node in an HTML document.

## Accessing Nodes

You can access a node in three ways:

1. By using the getElementById() method

2. By using the getElementsByTagName() method

3. By navigating the node tree, using the node relationships.

## The getElementById() Method

The getElementById() method returns the element with the specified ID:

### Syntax

    document.getElementById("someID");

Try it yourself.

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

The following example returns a nodeList of all <p> elements in the document:

    document.getElementsByTagName("p");

Try it yourself.

### Example 2

The following example returns a nodeList of all <p> elements that are descendants of the element with id="main":

    document.getElementById('main').getElementsByTagName("p");

Try it yourself.

## DOM Node List

The getElementsByTagName() method returns a node list. A node list is an array of nodes.

The following code stores a list of <p> nodes (a node list) in the variable x:

    x=document.getElementsByTagName("p");

The <p> elements in x can be accessed by index number. To access the second <p> you can write:

    y=x[1];

Try it yourself.

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 length of a node list (the number of nodes).

You can loop through a node list by using the length property:

    x=document.getElementsByTagName("p");

    for (i=0;i<x.length;i++)
      {
      document.write(x[i].innerHTML);
      document.write("<br />");
      }

Example explained:

1. Get all <p> element nodes
2. For each <p> element, output the value of its text node

Try it yourself.

## Navigating Node Relationships

The three properties parentNode, firstChild, and lastChild follow the document structure and allow short-distance travel in the document.

Look at the following HTML fragment:

    <html>
    <body>

    <p id="intro">W3Schools example</p>
    <div id="main">
    <p id="main1">The DOM is very useful</p>
    <p id="main2">This example demonstrates <b>node relationships</b></p>
    </div>

    </body>
    </html>

In the HTML code above, the <p id="intro"> is the first child node (firstChild) of the <body> element, and the <div> element is the last child node (lastChild) of the <body> element.

Furthermore, the <body> is the parent (parentNode) of the every <p> element.

The firstChild property can be used to access the text of an element:

    var x=document.getElementById("intro");
    var text=x.firstChild.nodeValue;

Try it yourself.

## Root Nodes

There are two special document properties that allow access to the tags:

- document.documentElement
- document.body

The first property returns the root node of the document and exists in all XML and HTML documents.

The second property is a special addition for HTML pages, and gives direct access to the <body> tag.

Try it yourself.

## Altova® XMLSpy® - The world's best-selling XML editor!

Whether you're new to XML or already an advanced user, the user-friendly views and powerful entry helpers, wizards, and debuggers in XMLSpy are designed to meet your XML and Web services development needs from start to finish.

- XML editor
- Graphical XML Schema / DTD editors
- XSLT 1.0/2.0 editor, debugger, profiler
- XQuery editor, debugger, profiler
- Support for Office Open XML (OOXML)
- Graphical WSDL editor & SOAP debugger
- Java, C#, C++ code generation
- And much more!

Download a fully functional free 30-day trial today!

WEB HOSTING
ASP.NET Shopping Cart
$15 Domain Name Registration Save $20 / year!
Buy UK Domain Names Register Domain Names
Cheap Domain Names Cheap Web Hosting
Best Web Hosting
PHP MySQL Hosting
Top 10 Web Hosting
UK Reseller Hosting
Web Hosting
FREE Web Hosting

WEB BUILDING
Website Templates Flash Templates Website Builder Internet Business Opportunity
Custom Programming
FREE Trial or Demo Web Content Manager Forms,Web Alerts,RSS
Download XML editor
FREE Flash Website
FREE Web Templates

EDUCATION
US Web Design Schools
HTML Certification
JavaScript Certification
XML Certification
PHP Certification
ASP Certification

HOME or Top of Page |  | Printer Friendly
W3Schools is for training only. We do not warrant the correctness of its content. The risk from using it lies entirely with the user. While using this site, you agree to have read and accepted our terms of use and privacy policy. Copyright 1999-2009 by Refsnes Data. All Rights Reserved.