2011-10-21 64 views
0

我有以下的HTML追加jQuery后插入?

<ul> 
    <li>Some stuff first<li> 
</ul> 

基本上我用appendTo(ul)一堆东西附加到这一点,但我想它实际上append第一个孩子后li

我该怎么做?

我已经试过.appendTo(ul).insertAfter('li:first');

回答

2

你并不需要结合appendToinsertAfter,你可以只使用insertAfter,使选择更具体:

var li = $("<li>New</li>"); 
li.insertAfter($("ul li:first")); 

这里有一个working example

编辑基于评论

我想你的意思是,你已经有了一个变量的ul并想使用它。如果是这样的话,你可以尝试这样的事:

var li = $("<li>New</li>"); 
li.insertAfter(ul.children().eq(0)); 

下面是一个的example

+0

我使用'ul'作为'function(ul,item)'的一部分? – Andy

+0

@Andy - 看我的编辑。我想这就是你想要做的。 –

+0

为什么尝试这么难inserAfter当后会做到一行,一个包装 – Sinetheta

0
$('ul li:first').after('<li>Some stuff second</li>') 
+0

那会把它放在第一个里面 – Sinetheta

+0

谢谢..需要之后。 – Jayendra

1

使用后()插入第一个li之后。

$('ul li:first').after('<li>some other stuff</li>'); 
+0

大家都把他们的帽子扔在戒指中,而你是第一个打上标记的人) – Sinetheta

0

我想,你希望:

.insertAfter($(ul).children().first()); 
// should work as well: 
// .insertAfter(ul.children[0]) 

,或者如果ul不是一个变量:

.insertAfter('ul > li:nth-child(1)'); 
+0

如果他提出这样一个基本问题,我不会假定给他的代码片段实际上不会工作 – Sinetheta

+0

@Sinetheta:我按照他使用的风格('.appendTo(ul).insertAfter('li:first');'),所以我假设他可以处理这个问题。 –

2

尝试使用此............. ......

ul>li:first