Удалить элементы в DOM

0

может кто-нибудь показать, как работать с несколькими элементами в DOM и переместить их из одного блока в другой, мне нужно использовать jQuery, например, у меня есть эта структура

<div class="block">
    <div class="block_left">
        <div class="title">title 1</div>
        <div class="image">image 1 for title 1</div>
    </div>
    <div class="block_right">

    </div>
</div>

<div class="block">
    <div class="block_left">
        <div class="title">title 2</div>
        <div class="image">image 2 for title 2</div>
    </div>
    <div class="block_right">

    </div>
</div>

<div class="block">
    <div class="block_left">
        <div class="title">title 3</div>
        <div class="image">image 3 for title 3</div>
    </div>
    <div class="block_right">

    </div>
</div>

<div class="block">
    <div class="block_left">
        <div class="title">title 4</div>
        <div class="image">image 4 for title 4</div>
    </div>
    <div class="block_right">

    </div>
</div>

Я пытался использовать jQuery .each() но не тот, который мне нужен. В результате мне это нужно:

<div class="block">
    <div class="block_left">
        <div class="title">title 1</div>
    </div>
    <div class="block_right">
        <div class="image">image 1 for title 1</div>
    </div>
</div>

<div class="block">
    <div class="block_left">
        <div class="title">title 2</div>
    </div>
    <div class="block_right">
        <div class="image">image 2 for title 2</div>
    </div>
</div>

<div class="block">
    <div class="block_left">
        <div class="title">title 3</div>
    </div>
    <div class="block_right">
        <div class="image">image 3 for title 3</div>
    </div>
</div>

<div class="block">
    <div class="block_left">
        <div class="title">title 4</div>
    </div>
    <div class="block_right">
        <div class="image">image 4 for title 4</div>
    </div>
</div>

Как удалить элементы? благодаря

Теги:

4 ответа

0
Лучший ответ
$(".image").each(function() {
    $(this).parent().parent().find(".block_right").append($(this));
});

Попробуйте этот код, он должен работать!

Удачи.

  • 0
    Спасибо, ты просто сохранишь мой день! :)
  • 0
    Не за что :) Пожалуйста, поддержите этот ответ, если он вам помог.
2

Чтобы добавить элементы .image к следующим элементам .block_right вы можете сделать

$('.block_right').append(function() {
    return $(this).prev().find('.image');
});

FIDDLE

  • 0
    Спасибо! Оно работает!
  • 0
    @ user3375344 - Добро пожаловать!
0

Попробуйте использовать appendTo() здесь:

$('.block_left .image').each(function() {
    $(this).appendTo($(this).parent().next()); 
});

Демо-версия скрипта

  • 0
    вы пропустили контекст this
  • 0
    Да я редактирую
0

Одно возможное решение с .each():

$('.block .image').each(function() {
    $(this).closest('.block').find('.block_right').append(this);
});

ДЕМО: http://jsfiddle.net/6afBy/

Ещё вопросы

Сообщество Overcoder
Наверх
Меню