2016-02-03 5 views
1

Существует приложение, создающее контейнер динамически, и я пытаюсь переместить его в другой контейнер. Его довольно просто, но функция ведет себя странно.Переместить один div в другой div через jQuery

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 Div в .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'); 
    }); 
}); 
Смежные вопросы