按下范围时删除<li> </li>

时间:2014-03-20 14:21:34

标签: javascript jquery

我试图淡出一些<li>,但没有运气。检查我的代码:

<li class="lclass" id="1">
    First Li
    <span class="removeit" id="1" style="color:#C00;">Remove</span>
</li>
<li class="lclass" id="2">
    First Li
    <span class="removeit" id="2" style="color:#C00;">Remove</span>
</li>
<li class="lclass" id="3">
    First Li
    <span class="removeit" id="3" style="color:#C00;">Remove</span>
</li>

使用我的代码,只有span class="removeit"淡出。当我按下删除按钮时,我希望淡出整个div。

$(document).ready(function() {
    $('.removeit').click(function () {
        $(this).hide("fast");   
    });
});

谢谢!

2 个答案:

答案 0 :(得分:4)

使用.parent().closest('li')获取父li,然后隐藏整个对象。就像这样:

 $(document).ready(function() {
   $('.removeit').click(function () {
     $(this).parent().hide("fast");  //or $(this).closest('li').hide("fast");
   });
 });

<强> Working Demo

答案 1 :(得分:2)

您可以使用 .parent() .closest() 来获取您案例中的父li元素,然后您可以使用{{ 1}}淡出匹配的fadeOut

li

<强> Fiddle Demo


此外,您应该使用class而不是id,因为$('.removeit').click(function () { $(this).closest('li').fadeOut(); }); 是唯一的:

id

除此之外,号码不是有效<li class="lclass 1"> <span class="removeit 1" style="color:#C00;"> ,您可以使用idli1li2span1代替:

span2