jQuery的半新手;只是不能得到这个......
我在页面上有一个项目列表,我希望在列表顶部插入一个新项目:(a)向下滑动现有项目;(b)将新项目淡入其顶部位置的清单。我可以将新项目插入到列表中,但到目前为止,我已经开始工作的所有效果都是$('#theList').prepend(theNewItem).hide().fadeIn(1000);
之类的东西,它会在整个项目集中消失,包括新项目,而不是对滑动做任何事情。
当然(?),我的部分问题是我需要将.fadeIn(以及可能是.slideUp)方法应用于新项目,而不是整个列表,但我似乎无法抓住它。我可以获得新项目的ID,但是在prepend之后它没有显示在DOM中(至少,console.log('#theNewItemsID')返回一个空列表)。
那里有什么建议吗?非常感谢!
答案 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方法结合:first
docs选择器,我们将所选项目缩减为#theList
的第一个孩子(新添加的)