2016-02-03 349 views
1

有一個應用程序動態生成容器,我試圖將其移入另一個容器。它非常簡單,但功能表現怪異。通過jQuery將一個div移動到另一個div

HTML代碼:

<div class="column-4"> 
    <div class="social"> 
     social-1 
    </div> 
    <div class="fbto"></div> 
</div> 
<div class="column-4"> 
    <div class="social"> 
     social-2 
    </div> 
    <div class="fbto"></div> 
</div> 
<div class="column-4"> 
    <div class="social"> 
     social-3 
    </div> 
    <div class="fbto"></div> 
</div> 

jQuery代碼:

$('.column-4').each(function() { 
    $(this).find('.social').appendTo('.fbto'); 
    return false; 
}); 

按照上面的簡單的代碼,我試圖移動.social格爲.fbto。但沒有運氣。

任何幫助非常感謝。

+0

通過「行爲怪異」你的意思是有一個特定的錯誤,它在做什麼,你不想要的東西,或者它沒有做任何事情? – Erica

回答

1

試試這個。

  1. 刪除return false。因爲它會停止循環執行。
  2. 獲取相應的.fbto元素並追加到它。

$(function() { 
 
    $('.column-4').each(function() { 
 
    var fbto = $(this).find('.fbto'); 
 
    $(this).find('.social').appendTo(fbto); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
 
<div class="column-4"> 
 
    <div class="social"> 
 
    social-1 
 
    </div> 
 
    <div class="fbto"></div> 
 
</div> 
 
<div class="column-4"> 
 
    <div class="social"> 
 
    social-2 
 
    </div> 
 
    <div class="fbto"></div> 
 
</div> 
 
<div class="column-4"> 
 
    <div class="social"> 
 
    social-3 
 
    </div> 
 
    <div class="fbto"></div> 
 
</div>

+0

謝謝..因爲這樣工作..但你能幫我理解。如果我沒有定義變量並保留語法 - appendTo($(this).find('。fbto'));那爲什麼它不能正常工作。 –

+1

@MufeedAhmad這種方式也應該工作。你面臨什麼問題? –

+1

請檢查這個小提琴https://jsfiddle.net/y0jmvLs4/ –

0

您需要在文檔加載後調用每個函數。

$(document).ready(function(){ 
    $('.column-4').each(function(){ 
     $(this).find('.social').appendTo('.fbto'); 
    }); 
}); 
相關問題