我们说我有这些列表元素(多个):
<li id="menu-item-51604"><span class="dish-name">葡萄柚清心優多</span><span class="dish-price">25/35/50</span><span class="dish-description"></span><span class="dish-notes"></span></li>
<li id="menu-item-3144"><span class="dish-name">清心優多</span><span class="dish-price">25</span><span class="dish-description"></span><span class="dish-notes"></span></li>
<li id="menu-item-2154"><span class="dish-name">柚清心優多</span><span class="dish-price">35/50</span><span class="dish-description"></span><span class="dish-notes"></span></li>
我希望能够将单击的列表元素复制到名为ul.check-items
的列表中。
有任何建议可以实现这一目标吗?
答案 0 :(得分:2)
试试这个:
$('#menu-item-51604').click(function(){
$(this).clone().removeAttr("id").appendTo('ul.check-items');
});
根据您编辑的帖子:
$('#firstlist li').click(function(){
$(this).clone().removeAttr("id").appendTo('ul.check-items');
});
其中firstlist是要从中克隆的列表的ID。
答案 1 :(得分:0)
这样的事情会特别针对该项目点击处理程序:
$("#menu-item-51604").click(function() {
$("ul.check-items").append( $(this).clone() );
});
但是大概你想要“menu-item_51604”所属列表中的每个元素都有类似的行为,所以试试这样:
$("#yourULidHere li").click(function() {
$("ul.check-items").append( $(this).clone() );
});
请注意,这会导致多个元素具有相同的ID,因此您应该更改或删除副本中的ID:
$("ul.check-items").append( $(this).clone().removeAttr("id") );
// OR
$("ul.check-items").append(
$(this).clone().attr("id", function(i,oldVal) { return oldVal + "copy"; })
);
(如果你一直点击相同的元素,最后一行也将创建具有相同“... copy”id的多个元素,但它会显示一种修改id的方法......)