使用jQuery在“n”元素后面添加一些东西

对于像这样的标记

div 1
div 2
div 3
div 4

例如,如何在第二个DIV之后添加一些标记?

谢谢,
影片名称

尝试CSS选择器:nth-child()

 $("#holder > div:nth-child(2)").after("
foobar
");

另请参见:nth-child()选择器的jQuery页面上的示例。

使用:eq(索引)或:nth-​​child(索引/偶数/奇数/方程)选择器结合append(内容)或after(内容)函数。

例如,假设此代码:

 
div 1
div 2
div 3
div 4

使用像这样的追加

 $("#holder>div:eq(1)").append("
inserted div
");

或这个

 $("#holder>div:nth-child(2)").append("
inserted div
");

会给你

 
div 1
div 2
inserted div
div 3
div 4

虽然像这样使用后

 $("#holder>div:eq(1)").after("
inserted div
");

或这个

 $("#holder>div:nth-child(2)").after("
inserted div
");

会给你

 
div 1
div 2
inserted div
div 3
div 4

使用:nth-​​child非常有用,因为它可以让你每n个元素都设置内容。 此外,索引:nth-​​child从1开始,而索引:eq从0开始

例如,使用

 $("#holder>div:nth-child(2n)").after("
inserted div
");

会给你

 
div 1
div 2
inserted div
div 3
div 4
inserted div

$("#holder div:eq(1)")将选择#holder div的第二个子div。 ( :eq()选择器信息 )。 然后使用.after()函数追加内容。

使用insertAfter(选择器)

http://docs.jquery.com/Manipulation/insertAfter

用这个

  $("ul li:nth-child(4n)").add('ul li:last').after("
 
");

试试这样:

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

它将在每第2行后插入

insert here

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