首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找最接近的前一个li

问查找最接近的前一个li
EN

Stack Overflow用户
提问于 2011-12-10 21:46:40
回答 3查看 1.7K关注 0票数 1

我当前正在尝试选择<ul>中前一个最接近的列表元素

如果我当前的方法中有>1个<li>,那么它就可以工作。

html:

代码语言:javascript
复制
<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:

代码语言:javascript
复制
    $(this).closest("li").fadeOut("normal", function() {
        $(this).remove();
    });

如何删除列表元素个数=1和>1的最接近的前一个列表元素?我尝试添加链接在closest('li')之后的prev()和prevAll(),但都无济于事。有什么想法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-12-10 22:02:34

它应该可以像您在示例中那样工作。

在 http://jsfiddle.net/gaby/nZXxD/上的演示,了解当前的代码

在 http://jsfiddle.net/gaby/nZXxD/1/上的演示中,代码中只有一个li元素。

问题一定出在别的地方..

(您确定事件绑定正确吗?在之后 DOM准备好了吗?)

代码语言:javascript
复制
$(function(){
    $('a.close').click(function(){

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

    });
});
票数 3
EN

Stack Overflow用户

发布于 2011-12-10 21:56:05

它在prev()上工作得很好,检查链接http://jsfiddle.net/ABqpN/5/

票数 1
EN

Stack Overflow用户

发布于 2011-12-10 21:56:16

假设$(this)引用的是"li“内span”内的"a“标记,并且假设当您单击"a”时,它的父"li“应该被删除,您可以这样做:

代码语言:javascript
复制
$(this).parent('li').fadeOut("normal", function() {
    $(this).remove();
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8456938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档