2012-11-16 203 views
0

如果我點擊其中的子元素,如何刪除ul元素? 我知道這個ul .remove不是真的,我怎樣才能將「項目」的顏色設置爲紅色? 我必須使用.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> 
+1

$(this).parent('ul')。remove(); – Kris

回答

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

或者更好的是:

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

$(this).parent('ul')。remove();不工作,$(this).closest(「ul」)。remove();好!!! – zapata

+0

@GüneşErdemi我從來沒有建議'$(this).parent('ul')。remove();'。你想說什麼? –

+0

我告訴「家長」@Kris – zapata

1

像這樣:

$(this).closest('ul').remove(); 
0
$('li').click(function() { 
    $(this).parent().remove(); 
}) 
1

使用下面的Jquery爲

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

首先,您添加處理程序的方式並不理想。在頁面底部的腳本標記中,您應該將此代碼添加到jQuery的ready方法中。

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

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

    }); 
</script> 

在上面的代碼中,this值將是<img>元素,你會試圖選擇孩子 UL是IMG的(這顯然不存在)。另外,當在jQuery中對其他選擇器使用this關鍵字時,您需要將其他選擇器換成引號。 (即$(this+'ul'))。

+0

感謝Madlee,我怎樣才能將「projects」的顏色設置爲紅色?我必須使用.find() – zapata