$('#mainlist').last().hide().fadeIn(200);
为什么这会隐藏,然后在列表中的所有项目中消失,而不仅仅是最后一个?
编辑:HTML的部分:
<div id="mainbox">
<ul id = "mainlist">
</ul>
</div>
我的js用li附加到ul,然后它运行上面显示的第一个代码。
$("#mainlist")
返回的列表中只有一个元素。您正在选择最后一个#mainlist
,即您的ul
。
.last()
方法选择DOM元素列表中的最后一个元素,而不是所选元素的最后一个子元素。
来自jQuery文档:
给定一个表示一组DOM元素的jQuery对象.last((方法从中的最后一个元素构造一个新的jQuery对象那一套。
你想要$('#mainlist li').last().hide().fadeIn(200);
之类的东西。
这是因为#mainlist
元素在列表项之前有另一个子元素/包装<ul>
(因此它隐藏了包装<ul>
,从而隐藏了所有元素(。也许试着用你的选择器更具体
$("#mainlist li").last().hide().fadeIn(200);
EDIT顺便说一句,这假设您的<ul>
已填充<li>
标记。