如何用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的,请问各位有怎么办?
用jq click 事件试了一下没问题,换jqm tap事件出现问题,感觉应该是jqm 的tap的问题 给hide设了个setTimeout 大约300ms解决了,不过解决方式很水,同求大神们指点
var $li = $('.min_delete').closest('li'), $otherLi = $li.siblings('li'); $li.remove(); $otherLi.css('background','red');
这样的场景可以考虑OOP,把每条数据抽象成对象,对象有个删除按钮,点击后隐藏自己,每个li对应一个实例。这样就不用查找父元素了。
刚才用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');