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

通过jQuery更改元素的ID,并让选择器使用新ID,jquery,Jquery,因此,我动态添加了元素块(),一旦它们加载,我会更改它们的ID($(“#”+ID).attr(“ID”,new#ID);)但我在选择新ID时遇到了问题。选择旧ID仍然有效并应用于该元素。如何使其识别新ID 网站位于www.steamcompare.com。您可以通过添加steam帐户进行测试。加载时,我会显示一个带有透明覆盖层的图像。完成后,我淡出覆盖,更改ID,并向覆盖添加一组信息。当你再次将鼠标悬停在它上面时,你会看到额外的信息。现在,如果我用 $("#"+id).find('div.cap

因此,我动态添加了元素块(
),一旦它们加载,我会更改它们的ID($(“#”+ID).attr(“ID”,new#ID);)但我在选择新ID时遇到了问题。选择旧ID仍然有效并应用于该元素。如何使其识别新ID

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

$("#"+id).find('div.caption').fadeOut(200);

在我换身份证之前,没关系。如果我把它移过去,它就不会消失。

从来没有解决过这个问题,最后不得不重写我是如何处理这些元素的。通过销毁原始ID并在其位置创建一个新ID来解决此问题。

谁曾否决过此问题,您能解释一下原因吗?在阅读文档后,它看起来正是我所需要的。为什么要投否决票?我能看到的唯一问题就是这件事。不确定我可以用什么事件来调用它。好的,事实上,在阅读文档之后,这将不起作用。“
在jQuery 1.3.x中,只有以下JavaScript事件(除自定义事件外)可以与.live()绑定:单击、dblclick、keydown、keypress、keyup、mousedown、mousemove、mouseout、mouseover和mouseup。从jQuery 1.4开始,.live()方法支持自定义事件以及所有冒泡的JavaScript事件。
”我没有使用这些事件中的任何一个。你使用哪个事件?您没有在问题中指定代码是在通过$.ajax成功回调时触发的。如果您查看代码,则有问题的部分位于第102行。在您的情况下,我在$(“#addUserForm”).bind(“submit”)事件中看到它,因此将bind更改为live,它就会工作;)
$("#"+id).live('yourevent', function(){
    $("#"+id).find('div.caption').fadeOut(200);
});