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,那麼它不會有新創建的對象。看到我的回答 –