2011-04-26 66 views
0

我正在使用jQuery模板来构建对象列表。在该列表项中有这样的ID:stuff通过由jQuery模板创建的ID查找元素

由于某种原因,当我这样做时:$('#myid-58')。fadeOut();

什么也没有发生,它不起作用。但是如果我在浏览器控制台中运行相同的命令,它就可以工作。有什么想法吗?

回答

1

您需要确保jQuery模板创建的元素在尝试使用jQuery查询它们之前已经在DOM上。这就是为什么它可以在控制台中工作,因为它在模板渲染后在DOM上运行。

例如,我想你不想fadeOut(),直到某些事件被触发,所以你需要将事件绑定到DOM中存在的模板的父DOM元素之前渲染模板。

您应该使用.delegate().live()来绑定事件(由于事件需要遍历较少的DOM元素,因此delegate()在性能方面更好)。