使用父/子删除列表元素

时间:2012-07-27 20:01:14

标签: javascript jquery jquery-ui html-lists

我希望从几个连接的ul列表中动态删除li元素。现在我正在使用$("#sortable1").children().on('dblclick',function() {...})

分配'dblclick'事件行为

#sortable1中的项目将被用户移动到其他列表(#sortable2,#sortable3等)。

双击列表项时,会弹出一个对话框,询问用户是否要删除它。如果用户说是,我希望列表项从它所在的列表中删除。我试图使用类似的东西来做:

$($(this).parent().childNodes[$(this).index()]).remove()

但这不起作用。

么?

2 个答案:

答案 0 :(得分:0)

这样的事情应该有效。

var showPopup = function( elem ){
  //show your popup with a function like this, as i assume it already does...      
  $( '#delete_toggle' ).one( 'click', function(){
    elem.remove();
  });
};

$("#sortable1").children().on('dblclick',function(){
  showPopup( $(this) );
});

答案 1 :(得分:0)

要删除单击的元素,只需在事件处理程序中使用它:

$(this).remove();

或者如果您已将元素引用保存到变量elem,那就是:

$(elem).remove();

你正试图让它变得比需要的更复杂。 jQuery .remove()方法查看其当前父级是谁,并为您处理所有这些。