我正在尝试在页面的一部分中选择一些元素
$table = $(".table");
console.log($table);//this is fine
$edit_butts = $(".btn_edit", $table);
console.log($edit_butts);//elements dimmed and seemingly detached from dom - no click binding etc work
现在有没有人为什么要解释这些元素?
在控制台
中bright and when clicked element found in dom
jQuery(table.table)
dimmed, when clicked firebug goes to edit screen
jQuery(div.btn_edit, div.btn_edit, div.btn_edit, div.btn_edit, div.btn_edit, div.btn_edit, div.btn_edit, div.btn_edit)
任何帮助都非常感激。
另外我应该指出,但我不确定相关的页面部分是否包含带有指令的knockoutjs。
<table class="table>
<!-- ko with: model.item -->
edit butts
<div class="btn_edit"></div>
<!-- /ko -->
</table>
答案 0 :(得分:1)
with
绑定会删除应用它的元素的子节点,并保留一个副本以用作模板。如果绑定with
的项目发生更改,则该模板将用于生成内容,即使是初始渲染也会发生这种情况。
with
绑定实际上相当于template: { if: myData, data: myData }
,它使用匿名模板(元素的子节点)。
因此,元素将从DOM中删除。我不确定你的目标,但是如果你在调用ko.applyBindings
之后找到了元素,那么你将会引用with
绑定中使用的当前元素。