41 votes

Comment déplacer un élément HTML dans jQuery?

Ma structure HTML est comme ceci:

 <div id="parent">
   <div id="1">Some content</div>
   <div id="2">Some content</div>
</div>
 

Je veux déplacer l'élément id="2" pour le placer avant id="1" afin que ce soit comme ceci:

 <div id="parent">
   <div id="2">Some content</div>
   <div id="1">Some content</div>
</div>
 

Comment faire quelque chose comme ça dans jQuery?

75voto

Nick Craver Points 313913

Vous pouvez utiliser .insertBefore(), comme ceci:

$("#2").insertBefore("#1");

Ou, .prependTo(), comme ceci:

$("#2").prependTo("#parent");

...ou l'inverse à l'aide de #1 et .insertAfter() et .appendTo()...ou de plusieurs autres façons en fait, cela dépend de ce que vous êtes après, les 2 méthodes doit être la plus courte possible, cependant, étant donné que 2 Id.

Je suis en supposant que c'est juste un exemple, n'oubliez pas d'utiliser des Id qui ne commencent pas par un nombre dans une réelle HTML4 page, ils sont invalides et causer plusieurs problèmes.

7voto

Box9 Points 41987

Faites simplement:

 $('#1').before($('#2'));
 

3voto

Pit Points 507

Avez-vous déjà pensé à utiliser jQuery UI Sortable ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X