Question jQuery (parent > childs)

WRInaute passionné
Bonjour,
J'ai une petite question jQuery pour les connaisseurs

J'ai cette structure toute simple (il y a d'autres h1 avec h2 mais c'est juste pour l'exemple) :
Code:
<h1>More information</h1>
			<div class="chapitre">
			<h2>Information 1</h2>
				<p>Paragraphe.</p>

			<h2>Information 2</h2>
				<p>Paragraphe.</p>
				
			<h2>Information 3</h2>
				<p>Paragraphe.</p>
			</div>

Et ce code pour récupérer tous les h2 du h1:
Code:
$('h1:eq(' + i + ') + div.chapitre > h2').each(function(j){
...
}

CA MARCHE, notez le <div class="chapitre"> qui entoure les h2

Et justement, j'aimerais supprimer le <div class="chapitre">

Donc j'ai cette structure :
Code:
<h1>More information</h1>
			<h2>Information 1</h2>
				<p>Paragraphe.</p>

			<h2>Information 2</h2>
				<p>Paragraphe.</p>
				
			<h2>Information 3</h2>
				<p>Paragraphe.</p>

Et mon code jQuery :
Code:
$('h1:eq(' + i + ') > h2').each(function(j){
...
}

Et la ça ne marche plus :?
Pourtant selon la documentation le (h1 >h2) sélectionne les h2 du parent h1...

Quelqu'un saurait-il m'aiguiller ?

Merci beaucoup
 
Nouveau WRInaute
Ton h2 n'est pas un child de ton h1, ils sont au même niveau. Par contre, dans le premier exemple, tes h2 sont child de div.chapitre.
 
WRInaute passionné
Oui effectivement pour que les h2 soient enfants de h1 il faudrait qu'il soient DANS la balise h1, ce qui n'est pas possible.

Donc y a t-il une solution pour se passer du DIV ?

Merci
 
WRInaute passionné
Donc Marie-Aude tu dis que je suis obligé de mettre la balise <div class="chapitre"></div> dans le h1, entre les h2 ?

Merci
 
WRInaute accro
Mais non... C'est impossible, côté HTML
En revanche tu peux identifier ton div soit par une classe soit par une id, et sélectionner ensuite les H2 en dessous
 
WRInaute discret
Il faudrait essayer avec .nextUntil().

Quelque chose du genre

$( "h1:eq(" + i + ")" )
.nextUntil( "h1:eq(" + (i+1) + ")", "h2" )
.each ...

Bon attention, c'est pour donner une piste, je n'ai pas tester.

Sinon il n'y a pas un parent du h1 qui inclus les h2 sans inclure les autres h1 ?
 
WRInaute passionné
MERCI maloc
Visiblement ça marche ! merci beaucoup.
Alors je vais me penchez sur cette fonction que je connaissais pas pour voir exactement comment comment ça fonctionne :)

Bon sinon j'aurais un div, pas grave, mais je préfère sans div, car j'ai fais un système de pages (wiki), je génère ma page écrite avec un h1, des h2 et des h3, et mon système me prend tous mes H2 et H3 et me crée automatiquement un menu (comme sur wikipedia) avec accès rapide sur les titre h2 et h3 quand il y en a :)

Merci encore
 
Discussions similaires
Haut