2016-02-03 300 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'); 
    }); 
}); 
相关问题