未捕获的TypeError:无法读取未定义的dataTable的属性"className"

roc*_*cky 1 javascript jquery jquery-plugins datatables jquery-datatables

我有桌子:

HTML

<table id="mydata">
    <thead>
        <tr>
            <th>Data 1</th>
            <th>Data 2</th>
            <th>Data 3</th>
            <th>Data 4</th>
        </tr>
    </thead>
    <tbody>
        <tr class="main">
            <td class="data_1">A</td>
            <td class="data_2">B</td>
            <td class="data_3">C</td>
            <td class="data_4">D</td>
        </tr>
   </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

当我使用dataTable与jquery排序时:

JavaScript的

jQuery('#mydata').dataTable({
    "sDom": " ",
    "bPaginate": false,
    "bInfo": false,
    'bFilter':false,                        
    "aoColumns": [
        null,               
        null,
        null,
        null
    ]
});
Run Code Online (Sandbox Code Playgroud)

它奏效了.

但是,当我为main添加子行时:

HTML

<table id="mydata">
    <thead>
        <tr>
            <th>Data 1</th>
            <th>Data 2</th>
            <th>Data 3</th>
            <th>Data 4</th>
        </tr>
    </thead>
    <tbody>
        <tr class="main">
            <td class="data_1">A</td>
            <td class="data_2">B</td>
            <td class="data_3">C</td>
            <td class="data_4">D</td>
        </tr>

        <tr class="detail-header">
            <td><strong>A1</strong></td>
            <td><strong>B1</strong></td>
            <td><strong>C1</strong></td>
            <td><strong>D1</strong></td>
        </tr>
        <tr class="detail">
            <td><strong>A2</strong></td>
            <td><strong>B2</strong></td>
            <td><strong>C2</strong></td>
            <td><strong>D2</strong></td>
        </tr>
        <tr class="control">
            <td colspan="2"><a href="#">Show details</a></td>
            <td colspan="2"><a href="#">Hide details</a></td>
        </tr>
    </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

在那个html:detail-header,detailcontrolmain的子节点,它们显示当点击显示细节时,它应该在排序时忽略,但我似乎他们也按dataTable排序所以我收到错误:

Uncaught TypeError: Cannot read property 'className' of undefined
Run Code Online (Sandbox Code Playgroud)

dav*_*rad 5

dataTables不接受colspans<tbody>.<tfoot>改为放置最后一行(带链接的行):

<tfoot>
    <tr class="control">
        <td colspan="2"><a href="#">Show details</a></td>
        <td colspan="2"><a href="#">Hide details</a></td>
    </tr>
</tfoot>  
Run Code Online (Sandbox Code Playgroud)

演示 - > http://jsfiddle.net/71zcn578/