J'aimerais déplacer un élément DIV
à côté d'un autre, il se présente normalement ainsi:
<div class="box-content-top">
<div class="box-related-product-top">
<div>
<div class="price">
...
</div>
<div class="image">
...
</div>
<div class="name">
...
</div>
<div class="cart">
...
</div>
<div>
<div class="price">
...
</div>
<div class="image">
...
</div>
<div class="name">
...
</div>
<div class="cart">
...
</div>
</div>
</div>
Je veux changer la position de la div
avec la classe .price
pour être après la classe .name
, pour ressembler à ceci:
<div class="box-content-top">
<div class="box-related-product-top">
<div>
<div class="image">
...
</div>
<div class="name">
...
</div>
<div class="price"> // HERE
...
</div>
<div class="cart">
...
</div>
<div>
<div class="image">
...
</div>
<div class="name">
...
</div>
<div class="price"> // HERE
...
</div>
<div class="cart">
...
</div>
</div>
</div>
Vous pouvez utiliser insertAfter
pour déplacer l'élément. Docs
$('.price').each(function() {
$(this).insertAfter($(this).parent().find('.name'));
});
Ici vous avez le mis à jour le violon .
$('.box-related-product-top > div').each(function(){
$(this).find('.image').appendTo(this);
$(this).find('.name').appendTo($(this));
$(this).find('.price').appendTo($(this));
$(this).find('.cart').appendTo($(this));
});
Essayez-le: http://jsfiddle.net/m6djm/1/
Les <div>
sont des éléments de niveau bloc, c'est donc leur comportement naturel. Vous pouvez faire flotter les div puis les effacer ou utiliser display: inline
.
Je pense que ce lien vous aiderait à comprendre un peu plus si: