我当前正在尝试选择<ul>中前一个最接近的列表元素
如果我当前的方法中有>1个<li>,那么它就可以工作。
html:
<ul id="coaches" class="list">
<li><span>bob<a class="close"></a></span></li>
<li class="colored"><span>cobb<a class="close"></a></span></li>
</ul>js:
$(this).closest("li").fadeOut("normal", function() {
$(this).remove();
});如何删除列表元素个数=1和>1的最接近的前一个列表元素?我尝试添加链接在closest('li')之后的prev()和prevAll(),但都无济于事。有什么想法吗?
发布于 2011-12-10 22:02:34
它应该可以像您在示例中那样工作。
在 http://jsfiddle.net/gaby/nZXxD/上的演示,了解当前的代码
在 http://jsfiddle.net/gaby/nZXxD/1/上的演示中,代码中只有一个li元素。
问题一定出在别的地方..
(您确定事件绑定正确吗?在之后 DOM准备好了吗?)
$(function(){
$('a.close').click(function(){
$(this).closest("li").fadeOut("normal", function() {
$(this).remove();
});
});
});发布于 2011-12-10 21:56:05
它在prev()上工作得很好,检查链接http://jsfiddle.net/ABqpN/5/
发布于 2011-12-10 21:56:16
假设$(this)引用的是"li“内span”内的"a“标记,并且假设当您单击"a”时,它的父"li“应该被删除,您可以这样做:
$(this).parent('li').fadeOut("normal", function() {
$(this).remove();
});https://stackoverflow.com/questions/8456938
复制相似问题