我正在学习knockout.js
并且尝试使用afterRender
回调来应用元素的行为。
我不理解这些出现在我的console.log()
中的#text
元素是什么。
用户界面看起来像这样:
Knockout绑定如下:
<div id='categoriesTree' style="color:black">
<table class='categoriesEditor'>
<tbody data-bind="template: { name: 'itemTmpl', foreach:children, afterRender: myPostProcessingLogic2 }"></tbody>
</table>
</div>
模板:
<script id="itemTmpl" type="text/html"></script>
回调函数:
self.myPostProcessingLogic2 = function (elements) {
console.log(elements);
}
然后Chrome开发者工具控制台输出:
"text"元素是什么,位于text
、tr
、text
中?不存在与tr
同级的文本元素。tbody
只能包含tr
对吧?
如果我进入text
,我可以看到它有一个cells
属性:HtmlCollection[2]
,其中的两个节点都是td
。所以这就像text = tr
,但如果是这样,为什么我要获取3个兄弟节点来表示一行呢?