jQuery dataTable的第一列宽度无法设置。

3
在我的项目中,为了向用户提供多选功能,我在jQuery dataTable的第一列添加了一个复选框。然而,在全屏幕时,它的宽度是不可控制的,太大了,我只想让它始终显示为45像素。我已经尝试在jQuery和css中修复它,但都失败了。
//jQuery
$('.dataTable').dataTable( {
  "columnDefs": [
    { "width": "45", "targets": 0 }
  ]
} ); 

//css
.dataTable > thead > tr > th:first-child {
    width: 45px!important;
}

有什么想法吗?


你尝试过{ "width": "45px", "targets": 0 }吗?即在数值后面添加px。 - vijayP
@vijayP 当然,什么都没发生。 - king yau
你尝试过文档页面上提供的其他选项吗:https://datatables.net/reference/option/columns.width - vijayP
将您的宽度定义为百分比,例如width: 20%。 - Abhay Dixit
2个回答

0
有什么想法吗?
是的。您不能依赖于“宽度”;浏览器不一定会保留“宽度”,如果其他元素缩小了空间或提供了比所需更多的空间。但是,如果您定义了“最小宽度”,那么您可以确信默认情况下将“宽度”设置为该值:
table.dataTable tbody td:first-child {
  min-width: 45px !important;
}

0

Try this in js:

$('#datatable').dataTable( {
  "columnDefs": [
    { "width": "45px", "targets": 0 }
  ]
} );

或者在CSS中:

#datatable td:nth-child(1)
    {
        width: 45px;
    }

td:nth-child(9) 的意思是什么? - king yau
这是一个错误。它是1。 - Mayank Pandeyz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接