jQuery:在第n个元素后添加元素

时间:2012-06-25 19:28:04

标签: jquery

我需要帮助在页面正文中的特定位置添加元素。

这是我的页码。

<div id="div1>
  <label id="label1"></label>
  <input type="text1"></input>
  <!-- Insert button here -->
  <span id="span1"></span>
</div>

我想在上面使用jQuery发表评论的位置添加一个按钮。如果页面语法是固定的,有没有办法可以添加一个元素作为父div的第三个子元素?我不想放置占位符并进行字符串替换。

感谢。

6 个答案:

答案 0 :(得分:9)

$('#div1').children(':eq(1)').after('<button/>');​​​​

<强> jsFiddle example

答案 1 :(得分:1)

button.insertAfter($('#div1').children().eq(1));

这将在#div1

的第二个孩子之后插入button

答案 2 :(得分:1)

function insertAfterNthChild($parent, index, content){
    $(content).insertAfter($parent.children().eq(index));
}

// Usage:
insertAfterNthChild($('#div1'), 1, '<button>Click me!</button');

答案 3 :(得分:0)

jQuery为此目的创建了一个nth-child()选择器。

$("input:nth-child(1)").after( "<your html here>" );

答案 4 :(得分:0)

你可以通过多种方式实现这一目标......下面是一个,

//                  v--- Change n to insert at different position
$('#div1 :nth-child(2)').after('<button>Test</button>');

DEMO: http://jsfiddle.net/m5Gyz/

答案 5 :(得分:0)

使用:http://api.jquery.com/nth-child-selector/

   $("input:nth-child(1)").after('<input type="button" value="button"/>');

在这里演示:http://jsfiddle.net/epinapala/JB4fr/1/