jQuery:将新项目滑动到一组项目的顶部

时间:2011-02-22 18:31:17

标签: ajax jquery

jQuery的半新手;只是不能得到这个......

我在页面上有一个项目列表,我希望在列表顶部插入一个新项目:(a)向下滑动现有项目;(b)将新项目淡入其顶部位置的清单。我可以将新项目插入到列表中,但到目前为止,我已经开始工作的所有效果都是$('#theList').prepend(theNewItem).hide().fadeIn(1000);之类的东西,它会在整个项目集中消失,包括新项目,而不是对滑动做任何事情。

当然(?),我的部分问题是我需要将.fadeIn(以及可能是.slideUp)方法应用于新项目,而不是整个列表,但我似乎无法抓住它。我可以获得新项目的ID,但是在prepend之后它没有显示在DOM中(至少,console.log('#theNewItemsID')返回一个空列表)。

那里有什么建议吗?非常感谢!

1 个答案:

答案 0 :(得分:1)

怎么样

$('#theList').prepend(theNewItem).children(':first').hide().fadeIn(1000);

演示http://jsfiddle.net/gaby/CrjQF/


<强>替代

如果变量theNewItem包含jQuery对象,那么您也可以使用.prependTo()docs方法跳过过滤

theNewItem.prependTo('#theList').hide().fadeIn(1000);

演示http://jsfiddle.net/gaby/CrjQF/1/


<强>解释

它发生的原因是你的初始选择器是#theList所以链式命令引用它。使用.children()docs方法结合:firstdocs选择器,我们将所选项目缩减为#theList的第一个孩子(新添加的