找到最接近的前一个李

时间:2011-12-10 13:46:40

标签: javascript jquery dom-traversal

我目前正在尝试在<ul>

中选择上一个最接近的列表元素

如果有&gt;我当前的方法有效其中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();
    });

如何使用list element = 1和&gt;的数量删除上一个最接近的list元素? 1个元素?我尝试在closest('li')之后添加一个prev()和prevAll(),但无济于事。有任何想法吗?

3 个答案:

答案 0 :(得分:3)

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

演示 http://jsfiddle.net/gaby/nZXxD/代码,因为它目前是代码 对于包含li个元素的代码,演示 http://jsfiddle.net/gaby/nZXxD/1/

问题必须在其他地方......

你确定事件绑定正确吗? DOM准备就绪后?)

$(function(){
    $('a.close').click(function(){

        $(this).closest("li").fadeOut("normal", function() {
            $(this).remove();
        });

    });
});

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

$(this).parent('li').fadeOut("normal", function() {
    $(this).remove();
});