0
我使用jQuery模板引擎添加动态DOM元素(特别是DIV)。为了控制它们,我使用'实时'方法(例如'点击'事件)。jQuery - 在新添加的DOM对象上动态使用'.filter'
在某些时候,我需要使用'过滤器'方法找到一些新创建的元素。看来它不会找到新创建的元素。
任何想法为什么?
我的代码由具有不同数据setid属性的DIV组成。它们是使用jQuery .tmpl插件生成的。
我使用选择器来查找适当的“ListOfStuff”DIV并添加一个新的“Stuff”DIV。
因此,它将在服务器上生成的这样的DIV上工作,然后服务,但不会在新创建的DIV上工作。
<div class="SomeStuffSet" data-setid="MySetID">
-- some stuff here --
<br /><br />
<div class="ListOfStuff">
<div class="Stuff">
My Name
</div>
<div class="Stuff">
My Name
</div>
<div class="Stuff">
My Name
</div>
</div>
</div>
,我的选择是这样的:
var setdiv = $('div').filter('.SomeStuffSet').filter(function() { return $(this).attr('data-setid') == $('#currentSetID').val(); }).children('.ListOfStuff');
谢谢 - 代码更好:)但仍然没有解决实时过滤的问题。它不会找到新创建的对象... – Roman
对不起。它工作!谢谢:) – Roman
@roman ...如果你永远不会重新填充你的变量setdiv,那么它不会有新创建的对象。看到我的回答 –