1

我目前正在尝试在<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 元素?我尝试添加一个 prev() 和 prevAll() 链接,closest('li')但无济于事。有任何想法吗?

4

3 回答 3

3

它应该像你在你的例子中那样工作..

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-10T14:02:33.970 回答
1

prev() 检查链接http://jsfiddle.net/ABqpN/5/它工作正常

于 2011-12-10T13:56:05.463 回答
0

假设 $(this) 指的是“li”中“span”中的“a”标签,并假设当您单击“a”时,它的父“li”应该被删除,您可以这样做:

$(this).parent('li').fadeOut("normal", function() {
    $(this).remove();
});
于 2011-12-10T13:56:15.527 回答