Подтвердить что ты не робот

Добавьте что-то после элемента "n", используя jQuery

Для разметки типа

<div id="holder">
    <div>div 1</div>
    <div>div 2</div>
    <div>div 3</div>
    <div>div 4</div>
</div> 

как добавить некоторую разметку после второго DIV?

Спасибо,
Titel

4b9b3361

Ответ 2

используйте селектор : eq (index) или : nth-child (index/четное/нечетное/уравнение) в сочетании с append (content) или after (content) функция.

например, предполагая этот код:

<div id="holder">
    <div>div 1</div>
    <div>div 2</div>
    <div>div 3</div>
    <div>div 4</div>
</div>
при использовании append like this
$("#holder>div:eq(1)").append("<div>inserted div</div>");
или этот
$("#holder>div:nth-child(2)").append("<div>inserted div</div>");
даст вам

<div id="holder">
    <div>div 1</div>
    <div>div 2<div>inserted div</div></div>
    <div>div 3</div>
    <div>div 4</div>
</div>
, а при использовании after like
$("#holder>div:eq(1)").after("<div>inserted div</div>");
или этот
$("#holder>div:nth-child(2)").after("<div>inserted div</div>");
даст вам

<div id="holder">
    <div>div 1</div>
    <div>div 2</div>
    <div>inserted div</div>
    <div>div 3</div>
    <div>div 4</div>
</div>

Использование: nth-child может быть полезным, поскольку оно позволяет вам устанавливать содержимое для каждого n элементов. также индекс: nth-child начинается с 1, а индекс: eq начинается с 0

например, использование

$("#holder>div:nth-child(2n)").after("<div>inserted div</div>");
даст вам

<div id="holder">
    <div>div 1</div>
    <div>div 2</div>
    <div>inserted div</div>
    <div>div 3</div>
    <div>div 4</div>
    <div>inserted div</div>
</div>

Ответ 3

$("#holder div:eq(1)") выберет второй дочерний div из #holder div. (: информация о выборе eq()). Затем используйте функцию .after() для добавления содержимого.

Ответ 4

Использовать insertAfter (селектор)

.insertAfter()

Ответ 5

используйте этот

 $("ul li:nth-child(4n)").add('ul li:last').after("<div style='clear:both;'>&nbsp;</div>");

Ответ 6

Попробуйте это так:

$("#holder > div:nth-child(2n)").after("<div>insert here</div>");

Он вставит <div>insert here</div> после каждого второго ряда:

$("#holder > div:nth-child(2)").after("<div>insert here</div>");