Déplacer un élément vers le haut ou vers le bas dans l'arbre dom avec javascript

Je veux une façon javascript pour déplacer un élément d'un lieu vers le haut ou vers le bas dans l'arborescence dom au sein d'un parent connu à l'aide de javascript (jquery est ok), mais je veux que le script pour savoir quand un élément est le premier ou le dernier élément à l'intérieur de la mère et de ne pas être déplacé. par exemple, si j'ai le texte suivant ...

<div id='parent_div'>
    <div id='div_1'></div>
    <div id='div_2'></div>
    <div id='div_3'></div>
</div>

sur le clic d'un bouton, je veux passer un connu id (disons div_2) et le déplacer jusqu'à la position au-dessus d'elle, échange sa position avec l'élément qui a été précédemment avant (dans ce cas div_1). Les id des éléments n'avez pas à changer, et leur nouvelle position n'a pas besoin d'être connue, au moins pas moins qu'ils sont à nouveau déplacé.

source d'informationauteur Peter Cullen | 2016-01-21