Вопрос

у меня есть table с коротким заголовком, но длинными ячейками (td).Можно ли сделать ширину столбцов минимально возможной шириной заголовка?

Пример:

<table>
    <tr>
        <th>Name</th>
        <th>phone</th>
    </tr>
    <tr>
        <td>Santa</td>
        <td>20938570987098709870298349082456</td>
    </tr>
</table>

Итак, в графе «телефон» должно быть указано «20....».

Является ли это возможным?

Это было полезно?

Решение

Немного сложнее, если вам нужно точно указать ширину и вы не используете моноширинный шрифт.

$("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) + '...');
      }
   });
});

Не тестировалось и не оптимизировалось;просто подтверждение концепции.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top