我正在使用jQuery模板来构建对象列表。在该列表中,项目具有如下ID:stuff
出于某种原因我这样做:$('#myid-58')。fadeOut();
没有任何反应,它不起作用。但如果我在浏览器控制台中运行相同的命令,它就可以了。有什么想法吗?
答案 0 :(得分:1)
在尝试使用jQuery查询之前,您需要确保jQuery模板创建的元素已经在DOM上。这就是它在控制台中工作的原因,因为它在模板渲染后在DOM上运行。
例如,我想你不想fadeOut()直到某个事件被触发,所以你需要将事件绑定到DOM上存在的模板的父DOM元素之前渲染模板。
您应该使用.delegate()或.live()来绑定事件(delegate()在性能方面更好,因为事件需要遍历更少的DOM元素。)