$(this)限制超出范围以限定指定元素

时间:2013-10-07 06:17:06

标签: jquery

如果你想删除ul中的指定li,你只需执行此操作

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

但是对于我的情况,我选择了一个对话框的提交按钮..我不能使用$(this),要么直接选择我的li,因为它会删除所有..

$('#submit).click(function(){
   //delete one of my target li..
});

4 个答案:

答案 0 :(得分:0)

我不确定您的DOM结构。当您想要在单击提交按钮时删除列表的列表项时,这将起作用。

$('#submit').click(function(){
   $('#Id_of_Your_list').find('li').remove();
});

如果您具体要求,我可以提供完美的解决方案。

修改

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

适合您的情况。

答案 1 :(得分:0)

你可以这样做,

<ul onclick="remove(this)"><li></li></ul>

remove()

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

答案 2 :(得分:0)

您如何选择目标?您应该添加一个css类,将列表项标记为已选中。因此,选择后,所选li标记为<li class="selected">

然后在处理程序中执行以下操作

 $('#submit).click(function(){  
    var deleteThis = $('li .selected'); 

    //Do the deletion
   }

答案 3 :(得分:0)

您可以将此两步流程与以下JavaScript代码

一起使用
$('li').on('click',function(){
    var id = $(this).attr("id");
    $("#c" + id).show();
});

$(".confirm").on("click", function(){
    var id = ($(this).attr("id")).substring(1, 2);
    $("#" + id).remove();
});

Working fiddle here