获取未捕获错误:无法解析敲除中的绑定

时间:2014-03-18 10:08:33

标签: javascript jquery knockout.js

获得错误

Uncaught ReferenceError: Unable to parse bindings.
Bindings value: html: typeof rowText == 'function' ? rowText($parent) : $parent[rowText] , attr: {class: [rowText]}
Message: $parent is not defined

on

    <tbody data-bind=\"foreach: itemsOnCurrentPage\">\
         <tr data-bind=\"foreach: $parent.columns, attr: {id: ItemId},css:{even:$index()%2==0,odd:$index()%2!=0}\">\
             <span data-bind=\"html: typeof rowText == 'function' ? rowText($parent) : $parent[rowText] , attr: {class: [rowText]}\"></span>\
          </tr>\
     </tbody>\

当用td标签替换span时,它可以正常工作。

    <tbody data-bind=\"foreach: itemsOnCurrentPage\">\
         <tr data-bind=\"foreach: $parent.columns, attr: {id: ItemId},css:{even:$index()%2==0,odd:$index()%2!=0}\">\
             <td data-bind=\"html: typeof rowText == 'function' ? rowText($parent) : $parent[rowText] , attr: {class: [rowText]}\"></td>\
          </tr>\
     </tbody>\

我不知何故在那边需要span标签。可以,任何人都可以告诉我,为什么它在绑定时显示错误,如果使用跨越td标签的instaed。以下是http://jsfiddle.net/pratbhoir/fNhKp/10/

的示例

1 个答案:

答案 0 :(得分:2)

你不能直接跨越&#39; tr&#39;它必须在td内,这就是你得到错误的原因。所以把跨度放在td。

 <tbody data-bind="foreach: itemsOnCurrentPage">
    <tr data-bind="foreach: $parent.columns">
           <!--ko ifnot: typeof rowText == 'object' && typeof rowText.action == 'function'-->
          <td> 
            <span data-bind="text: typeof rowText == 'function' ? rowText($parent) : $parent[rowText] "></span>
         </td>
        <!--/ko-->
     </tr>
  </tbody>

错误

有限的元素是HTML表元素的有效子元素,它们是:

  • colgroup,
  • thead,
  • TFOOT,
  • tbody,
  • TR

因此,当您尝试在tr标签内验证带有无效span标签的html时,它会出现如下错误: -

 Start tag span seen in table.//error invalid html

http://jsfiddle.net/fNhKp/11/