Wie verschiebt man ein Element nach einem anderen Element mit JS oder jquery?

Lesezeit: 2 Minuten

Benutzer-Avatar
Benutzer1989195

Ich möchte einen verschieben DIV Element neben einem anderen, ist es normalerweise so:

<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>

Ich möchte die Position der ändern div mit der Klasse .price nach dem sein .name Klasse, sieht so aus:

<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>

  • Wie wird dieses HTML erstellt? In welcher Sprache möchten Sie einziehen? deine Frage ist nicht ganz klar.

    – ROY Finley

    27. Januar 2013 um 15:59 Uhr

  • @ROYFinley die Frage ist mit Javascript und jquery getaggt

    – Mylopeda

    27. Januar 2013 um 16:01 Uhr

  • Es ist immer gut, eine Geige anzubringen: jsfiddle.net/m6djm

    – Nabil Kadimi

    27. Januar 2013 um 16:03 Uhr

Benutzer-Avatar
techfoobar

Sie können verwenden insertAfter um das Element zu verschieben. Dokumente

$('.price').each(function() {
    $(this).insertAfter($(this).parent().find('.name'));
});

Hier haben Sie die aktualisierte Geige.

$('.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));
});

Versuch es: http://jsfiddle.net/m6djm/1/

<div>sind Elemente auf Blockebene, das ist also ihr natürliches Verhalten. Sie könnten die Divs schweben lassen und sie dann löschen oder verwenden display: inline.

Ich denke, dieser Link würde Ihnen helfen, ein bisschen mehr zu verstehen:

CSS-Block und Inline

  • Die Frage ist nicht, wie man den Inhalt des div in derselben Zeile platziert wie den Inhalt in einem anderen div. Es geht darum, ein Div im DOM zu verschieben und hinter einem anderen Div zu platzieren.

    – Mylopeda

    27. Januar 2013 um 16:37 Uhr

  • Ah ich sehe. Sieht so aus, als hätte ich zu schnell “Position des Div ändern” gelesen. Scheint aber gelöst worden zu sein. Mal gewinnt man, mal verliert man.

    – Matt Steele

    27. Januar 2013 um 16:48 Uhr

1159280cookie-checkWie verschiebt man ein Element nach einem anderen Element mit JS oder jquery?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy