2010-05-05 3 views
9

Как добавить элемент к определенному индексу дочерних элементов с помощью jQuery append, например. если у меня есть:jQuery append div к определенному

<div class=".container"> 
    <div class="item"><div> 
    <div class="item"><div> 
    <div class="item"><div> 
    <div class="item"><div> 
</div> 

, и я хочу добавить другой элемент между вторым и третьим элементом?

+5

Предположительно класс '= «.container» - это опечатка? Допустимо иметь '.' В имени класса, но не то, что вы обычно хотели бы сделать. – bobince

ответ

19

Есть несколько вариантов:

$("div.container div.item").eq(2).after($('your html')); 

$("div.container div.item:nth-child(3)").after($('your html')); 

$($("div.container div.item")[2]).after($('your html')); 

Те же варианты, но вставив в ту же позицию, используя "до":

$("div.container div.item").eq(3).before($('your html')); 

$("div.container div.item:nth-child(4)").before($('your html')); 

$($("div.container div.item")[3]).before($('your html')); 
+1

+1 для метода 'eq()' вместо не-CSS-стандартного (и, следовательно, менее эффективного) ': eq' селектора. Однако будьте осторожны с ': nth-child'; в отличие от 'eq()' и большей части всего, его индексы основаны на 1 (argh). – bobince

+0

Мужчины я всегда забываю об этом. Спасибо за головы! – user875139

-1
$('.container').children()[1].append('whatever'); 
+1

это не сработает, поскольку [1] возвращает собственный объект DOM, который не знает о функции 'append()' – jAndy

+2

Мне следует избегать вопросов jQuery. –

Смежные вопросы