如何使用扩展器函数来处理动态jQuery数据?

谢谢你看看这个问题。 我试图让jQuery扩展器function在我的UI中工作。

问题是,当数据在HTML中进行硬编码时它会起作用,但是当数据由jQuery动态放置时它不起作用。

我创建了4张幻灯片以更好地说明问题(请参阅下面的图片):

幻灯片1:包含我试图在所显示的每个模块中展开的小文本的UI。

幻灯片2:为jQuery设置di​​v结构以实时填充日期

幻灯片3: Chrome Inspector显示动态保存在内存中的数据(不在HTML源代码中)

幻灯片4:当我在HTML中对此进行硬编码时,扩展器function起作用:

some data...

这是扩展器function的起源: http : //plugins.learningjquery.com/expander/

很多,非常感谢您提供的任何帮助或建议。 这是幻灯片:

幻灯片1

幻灯片2

幻灯片3

幻灯片4

编辑1 – 这是基于您的建议使用.live()的新代码…似乎没有点击调用:

  $(document).ready(function() { $('.div.tags-hidden p').live('click', function() { $('div.tags-hidden p').expander({ slicePoint: 80, // default is 100 expandText: '[...]', // default is 'read more...' collapseTimer: 5000, // re-collapses after 5 seconds; default is 0, so no re-collapsing userCollapseText: '[^]' // default is '[collapse expanded text]' }); });  

我认为你需要使用.live()来表示在呈现页面时不显示的元素。 看看这里http://api.jquery.com/live/

加载内容后,您可能需要重新连接扩展器插件。 例如,如果您通过ajax调用动态加载内容,则需要在ajax加载完成后再次调用$('div.tags-hidden p').expander()