2010-05-28 65 views
38

我想在某个特定位置添加一个<li>,例如添加列表项:如何在特定的位置

<ul id="list"> 
    <li>Position 1</li> 
    <li>Position 2</li> 
    <li>Position 4</li> 
<ul> 

比方说,我想/ <li>Position 2</li>后下方添加新<li> ,我该如何使用jQuery来做到这一点?

我试着用下面的代码它做的事:

$('#list li:eq(1)').append('<li>Position 3</li>'); 

但是,它没有工作,因为它追加<li>Position 2</li><li>,而不是<li>Position 2</li>后添加<li> /下面。

有人可以给我一些帮助吗?

谢谢。

回答

1

检查insertAfterhere

67

你必须使用after()而不是append()

说明:插入内容,由参数指定,在匹配的元素集合中的每个元素之后。

$('#list li:eq(1)').after('<li>Position 3</li>'); 

append()的文件明确表示:

插入内容(...)每个元素的结束


出于完整性:

注意:eq(n)匹配的元素集合的n个元素相匹配,而:nth-child(n)父的n个孩子相匹配。

3
$('<option val="position3">Position3</option>').insertAfter('#list :nth-child(<give childnumber here>)') 

指数下手1