0

您好我试图在初始化后渲染数据表并为链接添加新行

这是我的代码的一部分,“插入之后”似乎不起作用。

   $('#table thead tr').each(function() {
    nCloneTh.insertAfter(this.childNodes[5]);
});

有谁能够帮助我?我想在我的第 5 列之后插入 nCloneTh(th element)。

谢谢帮助

我的整个代码看起来像这样

$(document).ready(function() {

var nCloneTh = document.createElement('th');
var nCloneTd = document.createElement('td');

nCloneTh.innerHTML = '<img src="style/img/icon_trash.png" id="imglink" title="Entfernen" class="center">';

$('#table thead tr').each(function() {
    nCloneTh.insertAfter(this.childNodes[5]);
});

$('#table tbody tr').each(function() {
    nCloneTd.insertAfter(this.childNodes[5]);
});

$('#table tfoot th').each(function() {
    nCloneTh.insertAfter(this.childNodes[5]);
});

dataTable = $('#table').dataTable({
    'bProcessing':true,
    'bServerSide':true,
    'sAjaxSource':'feedback.php',
    "oLanguage": {
        "sUrl": "language/dataTables.german.txt"
    },'aoColumnDefs':[{'bSearchable': false, 'bVisible':false, 'aTargets':[0]},
        {'bSortable': false, 'aTargets':[5]},
        { 'fnRender': function(o,val){return '<a>tss</a>';}, 'aTargets': [ 6]}
    ]
});

dataTable.fnClearTable( 0 );
dataTable.fnDraw(false);

});

4

3 回答 3

2

数组是 0 索引的,因此您尝试在示例中的第六个之后插入。 <th>另外,我注意到这nCloneTh是一个 DOM 元素,而不是 jQuery 元素。尝试以下操作:

$('#table thead tr').each(function() {  
    $(nCloneTh).insertAfter($(this).children('th')[4]);
});
于 2012-12-07T21:29:10.330 回答
1

nCloneTh 需要包装在一个 jQuery 对象中才能使用 inserAfter,如下所示:

var nCloneTh = $('<th></th>');

这是您可能尝试完成的示例 - http://jsfiddle.net/jmsessink/d3bLp/

于 2012-12-07T21:39:57.883 回答
1

您可以在数据表初始化中使用 aoColumns 来添加额外的列。null对每个现有列使用 a ,然后使用 mRender 函数定义附加列。

dataTable = $('#table').dataTable({
    'bProcessing':true,
    'bServerSide':true,
    'sAjaxSource':'feedback.php',
    "oLanguage": {
        "sUrl": "language/dataTables.german.txt"
    },
    'aoColumnDefs':[
        {'bSearchable': false, 'bVisible':false, 'aTargets':[0]},
        {'bSortable': false, 'aTargets':[5]},
        { 'fnRender': function(o,val){return '<a>tss</a>';}, 'aTargets': [ 6]}
    ],
    aoColumns: [ null,
                 null,
                 null,
      { "sName": "ID",
        "bSearchable": false,
        "bSortable": false,
        "fnRender": function (oObj) {
           return "<img src='style/img/icon_trash.png' id='imglink' title='Entfernen'" +
                  " class='center'>";
        }
      }
    ]
});

http://www.datatables.net/usage/columns

于 2012-12-07T21:46:12.437 回答