Javascript 具有2个数据表链接的自定义列

Javascript 具有2个数据表链接的自定义列,javascript,datatables,Javascript,Datatables,我有一个DataTables,它有一个带有链接的自定义列。它起作用了。但在我有了另一个链接后,它就不起作用了。错误是 Uncaught TypeError: Cannot read property 'style' of undefined at Xa (jquery.dataTables.min.js:79) at za (jquery.dataTables.min.js:65) at e (jquery.dataTables.min.js:110) at HT

我有一个DataTables,它有一个带有链接的自定义列。它起作用了。但在我有了另一个链接后,它就不起作用了。错误是

Uncaught TypeError: Cannot read property 'style' of undefined
    at Xa (jquery.dataTables.min.js:79)
    at za (jquery.dataTables.min.js:65)
    at e (jquery.dataTables.min.js:110)
    at HTMLTableElement.<anonymous> (jquery.dataTables.min.js:110)
    at Function.each (jquery-3.5.1.js:381)
    at jQuery.fn.init.each (jquery-3.5.1.js:203)
    at jQuery.fn.init.u [as dataTable] (jquery.dataTables.min.js:100)
    at jQuery.fn.init.k.fn.DataTable (jquery.dataTables.min.js:184)
    at Object.success (Customers:73)
    at fire (jquery-3.5.1.js:3496)
Uncaught TypeError:无法读取未定义的属性“style”
在Xa(jquery.dataTables.min.js:79)
at za(jquery.dataTables.min.js:65)
at e(jquery.dataTables.min.js:110)
在HTMLTableElement`
元(新台币).html(a);;
}
},
]
});
对于2个链接,非工作代码为:

            $('#tbl').DataTable({
                data: result,
                columns: [
                    { data: 'id' },
                    {
                        "data": "id",
                        "fnCreatedCell": function (nTd, sData, oData, iRow, iCol) {
                            const a = `<a href=${webApiBaseUrl}/Customers/${oData.id}>Edit</a>`
                            $(nTd).html(a);
                        }
                    },
                    {
                        "data": "id",
                        "fnCreatedCell": function (nTd, sData, oData, iRow, iCol) {
                            const a = `<a href=${webApiBaseUrl}/Customers/${oData.id}>Delete</a>`
                            $(nTd).html(a);
                        }
                    },
                ]
            });
$('#tbl')。数据表({
数据:结果,
栏目:[
{data:'id'},
{
“数据”:“id”,
“fnCreatedCell”:功能(nTd、sData、oData、iRow、iCol){
常数a=``
元(新台币).html(a);;
}
},
{
“数据”:“id”,
“fnCreatedCell”:功能(nTd、sData、oData、iRow、iCol){
常数a=``
元(新台币).html(a);;
}
},
]
});
我建议使用函数而不是
fnCreatedCell
,因为这样可以为一个单元格创建两个链接

在我的简单测试用例中,如下所示:

$('#tbl')。数据表({
数据:结果,
栏目:[
{“数据”:“id”},
{
“数据”:“id”,
“呈现”:函数(数据、类型、行、元){
如果(类型==‘显示’){
返回“”;
}否则{
返回数据;
}
}
}
]
});
当然,您需要编辑我的代码才能使用相关的URL

包含
type==“display”
的行用于处理。在本例中,它可能不是严格必需的,但它允许您在表中显示一个值(HTML字符串),同时对不同的值(普通ID,不带HTML)进行排序和过滤

这将创建一个包含两列的表:

它假设源数据如下所示:

var结果=[
{
“id”:“1”,
“姓名”:“老虎尼克松”
},
{
“id”:“2”,
“名称”:“爱里佐藤”
}
];
            $('#tbl').DataTable({
                data: result,
                columns: [
                    { data: 'id' },
                    {
                        "data": "id",
                        "fnCreatedCell": function (nTd, sData, oData, iRow, iCol) {
                            const a = `<a href=${webApiBaseUrl}/Customers/${oData.id}>Edit</a>`
                            $(nTd).html(a);
                        }
                    },
                    {
                        "data": "id",
                        "fnCreatedCell": function (nTd, sData, oData, iRow, iCol) {
                            const a = `<a href=${webApiBaseUrl}/Customers/${oData.id}>Delete</a>`
                            $(nTd).html(a);
                        }
                    },
                ]
            });