我使用的是dataTable,需要在一列中添加一个jquery dom。以下是我的代码:
var markup = $("<a></a>").addClass("ClassName")
.attr({ href : "Something.html",title : "Edit"});
var t = $("#myTable").DataTable();
t.row.add( [markup] ).draw( false );
以上代码显示&#34; [object Object]&#34;在列中而不是所需的href。
这是我的表结构:
<table id="myTable" >
<tbody>
</tbody>
</table>
我在这里做错了什么?
答案 0 :(得分:2)
你正在传递jquery对象,尝试传递像这样的javascript对象
t.row.add( [markup[0]] ).draw( false );
因为row.add
描述为dom对象说明了这一点
用于新行的数据。这可能是一个数组,对象,Javascript 对象实例或tr元素。
特别是这部分
Javascript对象
<强>更新强>
我尽可能地尝试但是它没有任何工作,似乎是DataTables
中的错误,但是有一种可以使用的解决方法,尝试添加这样的标记
t.row.add([markup.wrap('div').parent().html()]).draw(false);
或者只是直接添加标记,就像这样
t.row.add(['<a class="ClassName" href="Something.html" title="Edit">Edit</a>']).draw(false);
<强> Fiddle Example 强>