【发布时间】:2013-10-22 20:13:33
【问题描述】:
在我的脚本中,我试图将一个元素(列表)从一个父级(只是文本)移动到另一个父级,然后再返回(到列表)。问题是当我将元素移回原始父级(ul)时,它变得不可点击。我认为在 remove() 上使用 detach() 可能会奏效,但并没有什么不同。
$(document).ready(function() {
$("#inventoryWeapon li").click(function(event) {
var clickedId = event.target.id;
if ($("td#weapon").is(":empty")) {
$("td#weapon").text(clickedId);
$(this).detach();
}
});
$("td#weapon").click(function(event) {
var unequipping = $(this).text();
$("#inventoryWeapon").append("<li id='" + unequipping + "'>" + unequipping + "</li>");
$(this).detach();
});
});
【问题讨论】:
-
您不是在移动元素,而是在创建一个新元素。
-
事件委托将大大简化此代码。
-
与其移动元素,不如直接隐藏和显示它们?
-
@Barmar,我希望将一个元素的内容更改为另一个元素。不过,这确实给了我一些想法。
标签: javascript jquery