2011-04-26 64 views
0

我正在使用jQuery模板來構建對象列表。在該列表項中有這樣的ID:stuff通過由jQuery模板創建的ID查找元素

由於某種原因,當我這樣做時:$('#myid-58')。fadeOut();

什麼也沒有發生,它不起作用。但是如果我在瀏覽器控制檯中運行相同的命令,它就可以工作。有什麼想法嗎?

回答

1

您需要確保jQuery模板創建的元素在嘗試使用jQuery查詢它們之前已經在DOM上。這就是爲什麼它可以在控制檯中工作,因爲它在模板渲染後在DOM上運行。

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

您應該使用.delegate().live()來綁定事件(由於事件需要遍歷較少的DOM元素,因此delegate()在性能方面更好)。