examples dom selection

javascript

by JuanMa Garrido

HTML

<p id="name">juanma<p>
     <ul id="guitar-players">
        <li id="jimi" class="rock blues">Jimi Hendrix</li>
        <li class="blues"><a id="clapton" href="http://www.ericclapton.com/">Eric Clapton</a></li>
        <li class="rock">Eddie Van Halen</li>
        <li class="rock">Yngwie Malmsteen</li>
        <li class="jazz">Django Reinhardt</li>
        <li class="blues"><a href="http://www.bbking.com/">B.B.King</a></li>
        <li class="blues rock">Gary Moore</li>
     </ul>

JavaScript

// document.getElementById()
console.info("document.getElementById()");
 
var myName = document.getElementById("name");
console.log(myName.innerHTML);

// document.getElementsByClassName
console.log( "\n" );
console.info("document|element.getElementsByClassName()");

var bluesGuitarPlayers = document.getElementsByClassName('blues')
var rockGuitarPlayers = document.getElementsByClassName('rock')
console.log(rockGuitarPlayers);

console.log( "---" );

// or to restrict the search in an element...
var myList = document.getElementById("guitar-players");
var myBluesGuitarPlayers = myList.getElementsByClassName('blues')
var myRockGuitarPlayers = myList.getElementsByClassName('rock')
console.log(myRockGuitarPlayers);

// Is not exactly an array

// myRockGuitarPlayers.forEach(...) <- won't work

console.log( "---" );

console.log( myRockGuitarPlayers[0].innerHTML )
console.log( myRockGuitarPlayers.item(0).innerHTML )
console.log( myRockGuitarPlayers.namedItem("jimi").innerHTML )

console.log( "---" );

// is not an Array... but it has a length property
for (var i = 0; i < myRockGuitarPlayers.length; ++i) {
	var link = myRockGuitarPlayers[i];  
  console.log(link.innerHTML);
}

// document.getElementsByTagName
console.log( "\n" );
console.info("document|element.getElementsByTagName()");

var links = document.getElementsByTagName('a')

// or to restrict the search in an element...
var myList = document.getElementById("guitar-players");
var linksGuitarPlayers = myList.getElementsByTagName('a')

console.log( linksGuitarPlayers[0].href )
console.log( linksGuitarPlayers.item(0).href )
console.log( linksGuitarPlayers.namedItem("clapton").href )

// document.querySelector
console.log( "\n" );
console.info("document|element.querySelector()");

var linkBluesGuitarPlayer = document.querySelector('#guitar-players .blues a')
    
// or to restrict the search in an element...
var myList = document.getElementById("guitar-players");
var linkBluesGuitarPlayer =...