删除克隆元素

时间:2010-10-25 17:42:54

标签: jquery

我一直试图解决这个问题一周,所以我来到这里。 我有一个函数,我想在单击图像后克隆列表项并将列表项追加到别处... 这是有效的,但我正在做相反的事情...我把它包裹在一个切换功能但我似乎无法删除附加的克隆元素,我的原始列表元素似乎也消失...

$("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]");
 }
});

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:0)

克隆和追加时,我认为列表中仍然有原始的li元素,所以你要删除它们。您需要确保只选择所需的1个元素。

你可以这样做:

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

例如,将删除具有该ID的第二个li。

P.S。您不应该有多个具有相同ID的元素。

答案 1 :(得分:0)

这是因为你正在尝试删除clonned元素(在dom加载后创建),但是你的函数只处理存在的元素(这就是为什么你的原始列表元素似乎消失了),而dom被加载了所以你应该尝试.live方法。

您可以从there获取有关自定义事件绑定的一些信息 我无法发送代码,因为我仍然试图在我的项目中取得成功/我对我来说意味着同样的问题;)

修改:同时检查this post