IE11上的jquery tablesorter unclosed标签

时间:2016-05-20 05:45:51

标签: jquery html tablesorter

我在客户端系统(版本11.0.9600.18161)和Chrome(版本50.0.2661.102 m)上的IE11上使用jquery tablesorter,在查看控制台后,不会通过单击标题对表进行排序在IE中我看到:

    HTML1509: Unmatched end tag.

我查看了生成HTML,可以看到:

        <colgroup class="tablesorter-colgroup">
        <col style="width: 8.5%;">
        <col style="width: 9.8%;">
        <col style="width: 7.6%;">
        <col style="width: 6.8%;">
        <col style="width: 22%;">
        <col style="width: 8.6%;">
        <col style="width: 9.2%;">
        <col style="width: 12.9%;">
        <col style="width: 14.1%;">
        </colgroup>

所有浏览器的来源都是一样的,虽然这在Firefox中是相同的,但Firefox并没有报告任何问题,一切正常,但这对我来说是错误的,为什么没有任何关闭'col'标签?< / p>

以下是我对tablesorter的调用:

          $(objLocTable).tablesorter({theme:'blue'
                            ,showProcessing:true
                                ,widthFixed:false
                                   ,widgets:['zebra'
                                             ,'scroller']
                              ,widgetOptions:{scroller_fixedColumns:2
                                                  ,scroller_height:400
                                             ,scroller_upAfterSort:true
                                            ,scroller_jumpToHeader:true}})
                               .tablesorterPager({container:$('.pager')});

我在函数'sortNatural'中找到了一个错误,如果a或b不是字符串例程错误,但是没有错误处理,所以排序没有完成。

我无法告诉你为什么a或b不是一个字符串,查看它们应该是的数据集,但是在调试中单步执行会显示其中一个参数为null并且这会搞砸该函数。

我通过使用try / catch子句包围函数内容来解决问题。

1 个答案:

答案 0 :(得分:1)

根据WHATWG HTML Living Standard&amp; HTML w3.org HTML5个定义,<col>标记无结束标记

  

在text / html中标记省略:无结束标记。

要解决此问题,请将tablesorter的widthFixed option保留为false(默认设置),并使用CSS - 目标类名称在标头中设置列宽,或使用nth-child in css。

哦,你可以report this issue to IE