2010-10-25 159 views
1

我一直試圖弄清楚這一個星期了,所以我來到這裏。 我有一個函數,我想克隆一個圖像被點擊後的列表項目,並追加其他地方的列表項... 這是工作,但我有麻煩做相反的...我有它包裹在一個我似乎切換功能,但不能去除附加克隆元素和我原來的列表元素似乎也消失了......刪除克隆元素

$("document").ready(function() { 

$('#aleHouseStar').toggle(blue, white); 

function blue(evt) { 
    $('#aleHouseStar').toggleClass('blue').attr("src", "iscroll/images/bluestar40.png"); 
    $("#barlist li[id='aleHouseList']").toggleClass('fav'); 
    $("#barlist li[class=fav]").clone().appendTo("#favorites ul[class=edgetoedge]"); 

} 

function white(evt) { 
    $('#aleHouseStar.blue').removeClass('blue').attr("src", "iscroll/images/whitestar40.png") 
    $("#barlist li[class=fav]").removeClass('fav'); 
    $("#favorites ul[class=edgetoedge]").remove("li [id=aleHouseList]"); 
} 
}); 

任何幫助,將不勝感激

回答

0

當克隆和追加,我想你列表中仍然有原始的li元素,所以你要刪除這兩個元素。你需要確保你只選擇你想要的1個元素。

你可以這樣做:

$("#favorites ul[class=edgetoedge]").remove("li [id=aleHouseList]:eq(1)"); 

例如,將刪除與該ID第二個裏。

P.S.你不應該有多個具有相同ID的元素。

0

據happenning因爲你試圖刪除clonned元素(即DOM被加載後創建的),但你的函數將只處理存在的元素(這就是爲什麼你原來的列表元素似乎消失了),而DOM是加載,以便你應該嘗試.live方法。

您可以從there獲取有關自定義事件綁定的信息。
我無法發送代碼,因爲我仍然努力實現我的項目成功/我的意思是我同一個問題;)

編輯:還要檢查this post