Jquery: обмен контейнеров внутри контейнера

0

Все еще изучая jquery. Я хотел обменять заголовок и изображение внутри своих родительских div. Есть идеи? Большое спасибо!

<div id="main">
<div class="image">IMAGE</div>
<div class="title">TITLE</div>
</div>

<div id="main">
<div class="image">IMAGE</div>
<div class="title">TITLE</div>
</div>

<div id="main">
<div class="image">IMAGE</div>
<div class="title">TITLE</div>
</div>

--------------------------------------------

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
$("#main div").each(function(){
  $("#main").append($('.image'));

});
});
</script>
  • 2
    Прежде всего, идентификаторы должны быть уникальными.
  • 0
    измените id="main" на class="main" . Также $("#main div") неверно и измените его на $("div #main")
Показать ещё 1 комментарий
Теги:
containers

3 ответа

0

Как только вы исправите проблему с идентификатором/классом, здесь короткое решение:

$(".main").each(function () {
    $(this).find('div:eq(1)').after($(this).find('div:eq(0)'));
});

Пример jsFiddle

0

Попробуйте это: - http://jsfiddle.net/adiioo7/YzXye/

Кроме того, вы не должны иметь несколько элементов с одинаковыми идентификаторами.

JS: -

$(document).ready(function () {
    $(".main").each(function () {
        $(this).append($(this).find('.image'));

    });
});

HTML: -

<div class="main">
    <div class="image">IMAGE</div>
    <div class="title">TITLE</div>
</div>
<div class="main">
    <div class="image">IMAGE</div>
    <div class="title">TITLE</div>
</div>
<div class="main">
    <div class="image">IMAGE</div>
    <div class="title">TITLE</div>
</div>
0

Первый конвертировать id в class поскольку id должен быть unique и попробуйте это,

HTML

<div class="main">
    <div class="image">IMAGE</div>
    <div class="title">TITLE</div>
</div>
<div class="main">
    <div class="image">IMAGE</div>
    <div class="title">TITLE</div>
</div>
<div class="main">
    <div class="image">IMAGE</div>
    <div class="title">TITLE</div>
</div>

SCRIPT

$(document).ready(function(){
   $(".main").each(function(){
       $image= $(this).find('.image');
       $clone=$image.clone();
       $image.remove();
       $(this).append($clone);
   });
});

Или

$(document).ready(function () {
    $(".main").each(function () {
        $(this).find('div.title').after($(this).find('div.image'));
    });
});

Демо и демо 1

  • 0
    ВЫ УДИВИТЕЛЬНЫЙ ЧУВАК! .. СПАСИБО МНОГО ..

Ещё вопросы

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