可能重复:
How can I detect when a new element has been added to the document in jquery?
我在普通的ul元素中有一个注释列表。加载页面时,我使用类似的东西(系统基于模板)
<li id="someId">Some Content</li>
<script>doStuffWithLi('someId');</script>
因此,如果页面被加载并且有一些li,每个都基于模板,那么每个li都有这个块。
现在人们可以发布新评论,模板和内容再次加载到页面中 - 但这次脚本没有被执行。我猜想文件准备就绪之后加载的js一般没有执行,文件加载了吗?
不幸的是,没有像$('li').live('ready', function() {});
这样的jQuery函数。
我使用像$('li').livequery(function() {//DO STUFF});
这样的livequery插件尝试了它 - 但是这也没有用。我不能简单地添加对元素创建的调用,因为我不能影响添加注释的函数。
是否可以在添加另一个li时调用函数?
答案 0 :(得分:2)
您可以使用活动DOMSubtreeModified
。将此事件分配给您的lis的父级,并检查如果有新的li,事件是否会被触发。在这种情况下,您为该li分配一个新的处理程序。
$("#li_parent").bind("DOMSubtreeModified", function() {
alert("possibly a li has been inserted");
// do your magic here
});