如何在单击其子元素时删除父元素

时间:2012-11-16 13:10:12

标签: jquery

如果我点击其中的一个孩子,我怎么能删除ul? 我知道这个ul。删除不正确,如何将“项目”的颜色设置为红色? 我必须使用.find()

<ul class="w1m">
    <li>
       <div>
         <img src="img/minus.png" onclick="$(this ul).remove();"/>
         <img src="img/link.png"/>
       </div>
       <div>
         inspiration
       </div>
    </li> 
</ul>

<ul class="w1m">
    <li>
       <div>
         <img src="img/minus.png" onclick="$(this ul).remove();"/>
         <img src="img/link.png"/>
       </div>
       <div>
         projects
       </div>
    </li> 
<ul>
    <li><div><img src="img/minus.png"/><img src="img/link.png"/></div>  <div>job board website</div></li>
    <li><div><img src="img/minus.png"/><img src="img/link.png"/></div>  <div>shopping cart</div></li>
</ul></ul>

5 个答案:

答案 0 :(得分:2)

$(this).closest("ul").remove();

或者更好:

$("ul.w1m").on("click","img[src='img/minus.png']",function(){
    $(this).remove();
});

答案 1 :(得分:1)

像这样:

$(this).closest('ul').remove();

答案 2 :(得分:1)

使用以下Jquery

$(this).closest("ul").remove();

答案 3 :(得分:1)

首先,添加处理程序的方式并不理想。在页面底部,在脚本标记中,您应该在jQuery的ready方法中添加此代码。

<script>
  $(document).ready(function() {

    $('ul.w1m > li').on('click', function() { $(this).parent().remove(); });

  });
</script>

在上面的代码中,this的值将是<img>元素,您将尝试选择该img的 ul(显然不会不存在)。此外,在jQuery中将this关键字与其他选择器一起使用时,需要将其他选择器包装在引号中。 (即$(this+'ul'))。

答案 4 :(得分:0)

$('li').click(function() {
    $(this).parent().remove();
})