📅  最后修改于: 2023-12-03 15:11:20.763000             🧑  作者: Mango
在电子表格应用程序中,经常需要调整表格中各列的宽度以适应内容。在Javascript中,我们可以通过以下几种方法实现列宽的调整。
我们可以使用CSS来调整列宽,为表格中的表头
table th:first-child {
width: 100px;
}
使用Javascript来动态调整列宽,需要先获取表格元素,然后设置表头
var table = document.getElementById('myTable');
table.getElementsByTagName('th')[0].width = '100px';
如果需要对所有列进行调整,则可以使用循环来遍历所有的
var table = document.getElementById('myTable');
var ths = table.getElementsByTagName('th');
for (var i = 0; i < ths.length; i++) {
ths[i].width = '150px';
}
如果需要让表格自适应列宽,我们可以使用混合方案,即先通过CSS将表格的宽度设置为100%,然后在Javascript中根据列中最长的内容来计算每列的宽度。例如,以下代码会自适应表格的列宽:
var table = document.getElementById('myTable');
var trs = table.getElementsByTagName('tr');
for (var i = 0; i < trs.length; i++) {
var tds = trs[i].getElementsByTagName('td');
for (var j = 0; j < tds.length; j++) {
var cellWidth = tds[j].clientWidth;
var thWidth = table.getElementsByTagName('th')[j].clientWidth;
var maxWidth = Math.max(cellWidth, thWidth);
table.getElementsByTagName('th')[j].width = maxWidth + 'px';
tds[j].width = maxWidth + 'px';
}
}
以上代码会找到表格中每个单元格的最大宽度,然后将每列的
参考资料: