Choisir les deuxièmes enfants des enfants du premier div dans javascript

J'ai un html qui ressemble à quelque chose comme ça:

<div id="mainDiv"> <-- I have this <div> <div></div> <div></div> <-- I need to get this </div> <span></span> <more stuff /> </div> 

j'utilise:

 var mainDiv = document.getElementById('mainDiv'); 

Parce que j'ai besoin de ce div dans un var, mais j'ai aussi besoin d'obtenir cette deuxième division sur la première div dans mainDiv dans une variable.

Comment puis-je le faire de manière simple à travers le navigateur?

En supposant que la structure est statique, vous pouvez le faire:

 var mainDiv = document.getElementById('mainDiv'), childDiv = mainDiv.getElementsByTagName('div')[0], requiredDiv = childDiv.getElementsByTagName('div')[1]; 

Autres lectures: .getElementsByTagName() (de MDN) .

  var mainDiv = document.getElementById('mainDiv'); var x = mainDiv.children[0].children[1]; 

ou

  var mainDiv = document.getElementById('mainDiv'); var x = mainDiv.getElementsByTagName('div')[0].getElementsByTagName('div')[1]; 

Je choisirai jQuery et finirai par quelque chose comme ça:

 var getThis = $('#mainDiv > div:eq(0) > div:eq(1)'); 

Violon

J'irais simplement avec une seule ligne de code vanilla.

Fonctionne pour tous les éléments, ne se limite pas aux noms de balises que vous avez dans la structure. Mais le nombre d'éléments et la hiérarchie doivent être conservés.

 var requiredDiv = document.getElementById('mainDiv').firstChild.firstChild.nextSibling; 
 var mainDiv = document.getElementById('mainDiv'); var div = maindiv.getElementsByTagName('div')[2];//third div 

http://jsfiddle.net/MGVw8/