JQuery, используя каждый с insertBefore

0

Честно говоря, я не знаю, как это объяснить, но если вы видите код и результат, вы знаете, что я пытаюсь сделать. Пытается отделить spans от каждого 'divide' div.

HTML:

<div class="wrapper">
    <div>text1<span>subtxt1</span></div>
    <div>text2<span>subtxt2</span></div>
    <div>text3<span>subtxt3</span></div>
    <div>text4<span>subtxt4</span></div>
    <div>text5<span>subtxt5</span></div>
    <div>text6<span>subtxt6</span></div>
</div>

ЯШ:

var divs = $(".wrapper div");
for(var i = 0; i < divs.length; i+=3) {
  divs.slice(i, i+3).wrapAll("<div class='divide'></div>");
}

$('.divide').each(function(){
  $(this).find('span').insertBefore($(this).next());
});

здесь jsfiddle: http://jsfiddle.net/VB6fj/

В основном последние три пролета не двигались. Я хочу, чтобы он разделился, как первые три span спасибо

  • 2
    Честно говоря, я понятия не имею, что вы пытаетесь сделать на основе этого описания и скрипки, но это может быть только я?
  • 0
    Не могли бы вы показать HTML-код, который вы пытаетесь создать с помощью этих манипуляций?
Теги:

1 ответ

0
Лучший ответ

$(this).next() пуст для последнего .divide так как больше нет братьев и сестер. Вы можете заменить эту строку следующим:

$(this).find('span').insertAfter(this)

см. http://jsfiddle.net/VB6fj/2/

Ещё вопросы

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