11496 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,

Je souhaite effectuer une petite manipulation pour déplacer un objet dans un menu bridé.

En effet, le menu sur lequel je dois travailler ne propose pas de fonctions avancées pour paramétrer comme il se doit un sous-menu.

Je dois donc faire une manip avec appendTo() mais je ne trouve pas comment cibler chaque objet dans sont parent.

j'ai tenté plusieurs trucs en vain :

mon menu

<ul id="menu">
	<li><img src="path/to/img1.jpg"/>Menu 1
	<ul class="subcat">
		<li>Sous menu 1</li>
	</ul>
	</li>
	<li><img src="path/to/img2.jpg"/>Menu 2
	<ul class="subcat">
		<li>Sous menu 2</li>
	</ul>
	</li>
	<li><img src="path/to/img3.jpg"/>Menu 3
	<ul class="subcat">
		<li>Sous menu 3</li>
	</ul>
	</li>
</ul>


mon jquery :

$('#menu > li').children('img', function deplacer()
{$(this).appendTo('.subcat');}
)


Évidement je tombe sur une erreur mais comme je suis une quiche avec jquery, je ne sais pas trop comment procéder...

Si quelqu'un peut m'aiguiller !
merci bien.. Smiley biggrin
Modifié par SuperMerguez (05 Feb 2014 - 11:44)
Bonjour,

A ma connaissance il n'existe aucune fonction jQuery nommé children et acceptant un handler en second argument.

Je vous propose à la place d'itérer chaque image de votre menu, comme ceci :

$("#menu > li img").each(function(i, val){
    var $parent = $(this).closest("li");
    $(this).appendTo($(".subcat", $parent));
});


En espérant vous avoir aidé.
Salut,

merci pour ta réponse,
en effet après avoir cogité un peu plus et consulter la doc je me suis rendu compte que j'étais mal parti, j'ai donc utilisé .each comme toi pour faire mon buisness Smiley cligne

je te remercie pour l'aide !

Smiley biggrin Smiley biggrin Smiley biggrin