通过jQuery更改元素的ID,并让选择器使用新ID

时间:2011-07-21 21:33:55

标签: jquery

所以我动态添加元素块(<div><img><div><p></p></div></div>),加载后,我改变它们的ID($(“#”+ id).attr(“id”,new_id);)I但是在选择新ID时遇到问题。选择旧ID仍然有效并适用于该元素。如何让它识别新ID?

网站位于www.steamcompare.com。您可以通过添加Steam帐户进行测试。在加载时,我会显示带有透明覆盖图的图像。完成后,我淡出叠加层,更改ID,并向叠加层添加一堆信息。当您再次将鼠标悬停在它上面时,您会看到额外的信息。现在,如果我用

淡出叠加层
$("#"+id).find('div.caption').fadeOut(200);

在我更改ID之前,没关系。如果我将它移过去,它就不会淡出。

2 个答案:

答案 0 :(得分:1)

$("#"+id).live('yourevent', function(){
    $("#"+id).find('div.caption').fadeOut(200);
});

答案 1 :(得分:0)

从来没有解决这个问题,最后不得不改写我处理元素的方式。通过销毁原始ID并使用新ID在其中创建一个新的解决方案。