2012-06-19 66 views
1

我有以下代碼:如何使用jQuery移動多個DOM元素?

<div class="product"> 
    <div class="description"></div> 
    <div class="image"></div> 
</div> 

<div class="product"> 
    <div class="description"></div> 
    <div class="image"></div> 
</div> 

<div class="product"> 
    <div class="description"></div> 
    <div class="image"></div> 
</div> 

而且我試着去選擇所有元素圖像配各。產品元素之前移動它們。

當我使用以下命令時,它會將所有圖像移動到第一個.product之前。我堅持,我嘗試了一個foreach - 似乎沒有工作。

$('.product').before($('.image')); 

任何想法?

回答

12

我建議:

$('.image').each(
    function(){ 
     $(this).insertBefore($(this).closest('.product')); 
    }); 

JS Fiddle demo

參考文獻:

+0

完美!謝謝!!! – jrutter

+0

不客氣,我很高興得到了幫助! =) –

2

我想這可能工作太:

$('.product').each(function (index) { 
    $(this).before($('.image').eq(index)); 
}); 
+0

是的,它實際上工作:[jsfiddle](http://jsfiddle.net/Evvvs/) – simo

+0

我很難想象如何工作...關閉[文檔](http://api.jquery .com/before /)給我!另外,歡迎來到Stack Overflow,我可以爲您提供您的第一個+1嗎? =) –