我有以下代码:
...
</tr>
<!-- ko if: eLocBound() == 'true' -->
<tr>
<td>Select Locations <span class="required_star">*</span></td>
<td><input type="text" /></td>
</tr>
<!-- /ko -->
<tr>
...
这在 Chrome/Firefox/Safari 中正确显示。但是,当我在 IE 9 中加载页面时,会出现以下错误:
Cannot find closing comment tag to match: ko if: eLocBound() == 'true'
当我在 IE 的开发者窗口中检查 HTML 输出时,我发现 IE 实际上是将<!-- ko if -->
注释标签嵌套在前一个 TR 标签内,而不是在 TR 标签之间,因此 Knockout 无法找到匹配的<!-- /ko -->
标签。我在这里链接到问题的屏幕截图:http: //imgur.com/nN7Ln
相反,如果我将代码更改为:
<tr data-bind="visible: eLocBound() == 'true'">
<td>Select Locations <span class="required_star">*</span></td>
<td><input type="text" /></td>
</tr>
然后一切正常。我想知道是否有人遇到过虚拟元素的这个问题。