我为 jquery.datatables 制作了一个大表,这对我来说非常有用。
但我需要为每个 td 元素相对于其列设置一个类名。
例如,我想要一个列(包括 th 和所有 td's)有一个 class="volume"
。
有这个问题:
我使用这段代码来初始化类,但它不工作。
"aoColumnsDefs": [
{ "sClass": "volume", "aTargets": [2] }
]
编辑:
我的表是动态创建和刷新的。它由一个 js 数组组成,我不想碰它。只是为了添加类名
编辑:
我使用这段代码来初始化我的表:
$('#dataTable').dataTable({
"aaData": dataCnt,
"aoColumnsDefs": [
{ "sClass": "volume", "aTargets": [2] }
],
"aoColumns": columnsHd,
"bStateSave": true,//saving status in coockie
"iCookieDuration": 10,//coockie life duration in seconds
"sScrollX": "100%",
"sScrollY": (winHei-200),
"sDom": '<"H"RCfrl>t<p"F"i>',
"oColVis": {
"buttonText": " ",
"bRestore": true,
"sAlign": "left"
},
"aLengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]]
});
希望对你有帮助
*EIDT:*
columnsHd
是一个数组,它是根据我的 json header 动态创建的,现在正是:
[
{ "sTitle": "macaddr" },
{ "sTitle": "lat" },
{ "sTitle": "ip" },
{ "sTitle": "clientname" },
{ "sTitle": "relay0mask" },
{ "sTitle": "relay0stat" },
{ "sTitle": "relay1stat" },
{ "sTitle": "clientid" },
{ "sTitle": "bldname" },
{ "sTitle": "uptime" },
{ "sTitle": "current" },
{ "sTitle": "temperature" },
{ "sTitle": "softver" },
{ "sTitle": "volume" },
{ "sTitle": "hardver" },
{ "sTitle": "relay1mask" },
{ "sTitle": "pic" },
{ "sTitle": "comment" },
{ "sTitle": "lon" },
{ "sTitle": "rtt" },
{ "sTitle": "bldaddr" },
]
最佳答案
我的猜测是 "aoColumns": columnsHd, 覆盖了 "aoColumnsDefs": [ { "sClass": "volume", "aTargets": [2] } , ],
尝试在代码中替换他们的顺序
或者直接在"aoColumns": columnsHd,
中添加类
像这样 "sClass": "volume"
完整代码:
尝试将 { "sTitle": "ip"},
更改为 { "sTitle": "ip", "sClass": "volume"},
并删除
"aoColumnsDefs": [
{ "sClass": "volume", "aTargets": [2] }
],
请注意,在数据表 1.10 中,您应该使用 aoColumnDefs
关于javascript - 如何将类添加到 jquery.datatables 列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14231660/