使用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 2inserted 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(选择器)
用这个
$("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");