Jquery 通过单击按钮将父div添加/删除到另一个div
我想在点击按钮时将按钮的父div“.card”添加到蓝色div中,并在再次点击按钮时能够“返回”到原始红色div。Jquery 通过单击按钮将父div添加/删除到另一个div,jquery,appendto,Jquery,Appendto,我想在点击按钮时将按钮的父div“.card”添加到蓝色div中,并在再次点击按钮时能够“返回”到原始红色div。 卡#1 卡片#2 功能移动按钮(elem){ if($(elem.parent().attr(“id”)=“未选择”){ $(elem).detach().appendTo('选定'); } 否则{ $(elem).detach().appendTo('#nonSelected'); } } 首先id属性在文档中必须是唯一的,因此您应该从输入中删除id属性(或使其唯一)。其次,
卡#1
卡片#2
功能移动按钮(elem){
if($(elem.parent().attr(“id”)=“未选择”){
$(elem).detach().appendTo('选定');
}
否则{
$(elem).detach().appendTo('#nonSelected');
}
}
首先id
属性在文档中必须是唯一的,因此您应该从输入中删除id
属性(或使其唯一)。其次,您的fiddle示例不包括jQuery
要解决实际问题,您可以使用closest()
从输入中检索父.card
。然后,您可以通过检查它当前包含在哪个分区中,将它添加到所需的div
,如下所示:
$('.card input').click(function() {
var $card = $(this).closest('.card')
$card.appendTo($card.closest('#nonSelected').length ? '#selected' : '#nonSelected');
});
注意,您根本不需要调用detach()
,因为元素只是在DOM中移动。还请注意,最好使用不引人注目的javascript来附加事件处理程序,而不是在*
事件属性上使用笨重且过时的。因为您已经包含了jQuery代码,所以我使用它来实现这一点。请注意,ID必须是唯一的
$('.card input').click(function() {
var $card = $(this).closest('.card')
$card.appendTo($card.closest('#nonSelected').length ? '#selected' : '#nonSelected');
});