24

How to rearrange elements using jQuery ?

Orginal Code :

<p id="paragraph1">1</p>
<p id="paragraph2">2</p>
<p id="paragraph3">3</p>
<p id="paragraph4">4</p>
<p id="paragraph5">5</p>

After Rearrange (put p3 in p2's place)

<p id="paragraph1">1</p>
<p id="paragraph3">3</p>
<p id="paragraph2">2</p>
<p id="paragraph4">4</p>
<p id="paragraph5">5</p>
user229044
  • 232,980
  • 40
  • 330
  • 338
faressoft
  • 19,053
  • 44
  • 104
  • 146
  • 1
    how are you wanting to rearrange them? when someone clicks a button? when someone drags the element around the screen? more details please. – nathan gonzalez Feb 05 '11 at 21:51

1 Answers1

44

You can use .insertBefore():

$("#paragraph3").insertBefore("#paragraph2");

Slightly more elaborate example (clicking on a paragraph moves it up):

$("p").click(function() {
   $(this).insertBefore($(this).prev()); 
});

You can test both examples here.

karim79
  • 339,989
  • 67
  • 413
  • 406