html5 - 如何用jquery获取一个元素的祖元素(该组元素有多个兄弟元素),并删除其祖元素

 蔡彬好看_352 发布于 2022-11-02 14:15

如何用jquery获取一个元素的祖元素(该组元素有多个兄弟元素),并删除其祖元素

实现点击垃圾箱删除该列的功能。

        $('.min_delete').on('tap',function(){
            $(this).parents('li').css('display','none');
            // $(this).parents('li').css('background','red');红色
            // alert($(this).parents('li').size()); 1

        })

自己获取到了祖先元素,但是设置display = none时,并不是我预期的那样,反而是下面的一个li也跟消失了。但给该元素设置背景颜色时,只有当前this的祖先元素li的背景色是红色的这是怎么回事?
将$('.min_delete')换成$('#min_delete')时可以将li隐藏,但不可能分别设置id的,请问各位有怎么办?

4 个回答
  • 用jq click 事件试了一下没问题,换jqm tap事件出现问题,感觉应该是jqm 的tap的问题 给hide设了个setTimeout 大约300ms解决了,不过解决方式很水,同求大神们指点

    2022-11-04 19:23 回答
  • var $li = $('.min_delete').closest('li'),
        $otherLi = $li.siblings('li');
    $li.remove();
    $otherLi.css('background','red');
    2022-11-04 19:25 回答
  • 这样的场景可以考虑OOP,把每条数据抽象成对象,对象有个删除按钮,点击后隐藏自己,每个li对应一个实例。这样就不用查找父元素了。

    2022-11-04 19:28 回答
  • 刚才用jQuery 做了一个ul 放了4个li里面有input按钮,$(this).parents("li")可以取到你点击的对应的父元素li标签,会不会是jQuery版本问题?
    或者是您li里镶嵌li标签了?

    要是都没问题的话。用你的li对应的id做显示和删除。
    var index = $(this).parents('li').index()+1;
    $("#touch"+index).css('display','none');

    2022-11-04 19:38 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有