首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >不支持<table>的Knockout.js无容器"foreach“

不支持<table>的Knockout.js无容器"foreach“
EN

Stack Overflow用户
提问于 2011-11-14 08:11:48
回答 1查看 16K关注 0票数 52

此代码抛出错误(在Chrome中):“找不到匹配的结束注释标记: ko foreach: MyPlans":

代码语言:javascript
复制
<table>
  <!-- ko foreach: MyPlans -->
    <tr>
      <td>Test</td>
    </tr>
  <!-- /ko -->
</table>

如果我使用列表,一切都会正常工作:

代码语言:javascript
复制
<ul>
  <!-- ko foreach: MyPlans -->
    <li>
      Test
    </li>
  <!-- /ko -->
</ul>

我想用无容器的餐桌。我是不是做错了什么?这是个bug吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-14 08:31:56

这与浏览器自动插入tbody标记的事实有关,这会在注释中造成不匹配。渲染的输出将如下所示:

代码语言:javascript
复制
<table>
  <!-- ko foreach: MyPlans -->
  <tbody>
    <tr>
      <td>Test</td>
    </tr>
  <!-- /ko -->
  </tbody>
</table>

Steve确实花了一些精力来纠正KO中不匹配的标记,但对您来说最简单的事情是自己添加tbody或添加tbody并将您的绑定放在它上面。

代码语言:javascript
复制
<table>
  <tbody data-bind="foreach: MyPlans">
    <tr>
      <td>Test</td>
    </tr>
  </tbody>
</table>

如果需要,一个表可以有多个tbody标记。

票数 90
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8115896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档