我有table
短标题但长单元格(td
)。
是否可以将列宽度设置为标题的最小可能宽度?
示例:
<table>
<tr>
<th>Name</th>
<th>phone</th>
</tr>
<tr>
<td>Santa</td>
<td>20938570987098709870298349082456</td>
</tr>
</table>
因此,“电话”栏应显示“20 .....”
有可能吗?
答案 0 :(得分:1)
如果你需要在宽度上准确并且你没有使用等宽字体,那就更难了。
$("th").each(function () {
var chars = $(this).text().length;
$("td").eq($(this).index()).each(function () {
if ($(this).text().length > chars) {
$(this).text($(this).text().substring(0, chars) + '...');
}
});
});
未经测试或优化;只是一个概念验证。