Latest web development tutorials
 

HTML DOM getElementsByClassName() Method

< Element Object

Example

Change the text of the first list item with class="child" (index 0) in a list with class="example":

var list = document.getElementsByClassName("example")[0];
list.getElementsByClassName("child")[0].innerHTML = "Milk";

Before changing the text:

  • Coffee
  • Tea

After changing the text:

  • Milk
  • Tea
Try it Yourself »

More "Try it Yourself" examples below.


Definition and Usage

The getElementsByClassName() method returns a collection of an element's child elements with the specified class name, as a NodeList object.

The NodeList object represents a collection of nodes. The nodes can be accessed by index numbers. The index starts at 0.

Tip: You can use the length property of the NodeList object to determine the number of child nodes with the specified class name, then you can loop through all nodes and extract the info you want.


Browser Support

The numbers in the table specifies the first browser version that fully supports the method.

Method
getElementsByClassName() 4.0 9.0 3.0 3.1 9.5

Syntax

element.getElementsByClassName(classname)

Parameter Values

Parameter Type Description
classname String Required. The class name of the child elements you want to get.

To search for multiple class names, separate them with spaces, like "child color".

Technical Details

DOM Version: Core Level 1 Element Object
Return Value: A NodeList object, representing a collection of the elements' child elements with the specified class name. The elements in the returned collection are sorted as they appear in the source code.

Examples

More Examples

Example

Change the background color of the second element with class="child" inside of a <div> element:

var x = document.getElementById("myDIV");
x.getElementsByClassName("child")[1].style.backgroundColor = "red";
Try it Yourself »

Example

Find out how many elements with class="child" there are inside of a <div> element (using the length property of the NodeList object):

var x = document.getElementById("myDIV").getElementsByClassName("child").length;

The result of x will be:

3
Try it Yourself »

Example

Change the background color of the first element with both the "child" and "color" class inside of an element with class="example":

var x = document.getElementsByClassName("example")[1];
x.getElementsByClassName("child color")[0].style.backgroundColor = "red";
Try it Yourself »

Example

Change the background color of all elements with class="child" inside of a <div> element:

var x = document.getElementById("myDIV");
var y = x.getElementsByClassName("child");
var i;
for (i = 0; i < y.length; i++) {
  y[i].style.backgroundColor = "red";
}
Try it Yourself »

Related Pages

CSS Tutorial: CSS Selectors

CSS Reference: CSS .class Selector

HTML DOM Reference: document.getElementsByClassName()

HTML DOM Reference: className Property

HTML DOM Reference: classList Property

HTML DOM Reference: HTML DOM Style Object


< Element Object