2010-05-28 32 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