我在Jquery中遇到一个问题,每当我点击复选框并点击div中的删除选项,它就会删除整个ul而不是它的父ul。
HTML代码
<div class="delete">Delete</div>
<ul class="link" id="link">
<li>
<div class="style">
<input type="checkbox" class="styled">
<div id="style"></div>
</div></li>
<li class="edit">http://carouselinfo.com/canal/</li>
<li><span class="main edit">123</span>
</li>
</ul>
JQUERY
$('.delete').on('click',function(){
var check = $("input[type='checkbox']");
if(check.is(':checked')){
//console.log("Works");
$(this).closest("ul").empty();
}
});
答案 0 :(得分:1)
试试这个:
$('.delete').on('click',function(){
$("input[type='checkbox']:checked").closest('ul').empty();
});
答案 1 :(得分:1)
这是你的html和jquery
更新:http://jsfiddle.net/YNxgy/5/
$('.delete').on('click',function(){
var check = $("input[type='checkbox']");
check.each(function(){
if($(this).is(':checked')){
$(this).closest("ul").remove();
}
});
});
问题是检查成为所有复选框的列表,因此您需要遍历它并检查它们中的每一个。
答案 2 :(得分:0)
看到你的小提琴后,你想要的是删除所点击的复选框的父ul:
<强> JQUERY 强>
// clicking the checkbox, remove parent UL
$('.link div').on("click", 'input[type="checkbox"]', function() {
$(this).closest('ul').remove();
});