2012-02-14 96 views
0

比方說,我有列表元素(不止一個)這樣的:如何使用jQuery將這些列表元素複製到另一個列表?

<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列表列表元素。

任何建議來完成此?

回答

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。

0

那麼這樣的事情會穿上專門李項上的單擊處理程序:

$("#menu-item-51604").click(function() { 
    $("ul.check-items").append($(this).clone()); 
}); 

但想必你想從任何列表「菜單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"; }) 
); 

(最後一行也將創造多個元素具有相同「......複製」的ID,如果你不斷地點擊相同的元素,但它表明你修改ID的一種方式......)

+0

豈不那也克隆了ID? – j08691 2012-02-14 01:41:41

+0

@ j08691 - 是的。在你評論的同時,我只是補充了一點。 – nnnnnn 2012-02-14 01:45:24

相關問題