Pregunta

tengo un table con título corto pero celdas largas (td).¿Es posible hacer que el ancho de las columnas sea el más pequeño posible para el título?

Ejemplo:

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

Entonces, la columna "teléfono" debería mostrar "20..."

¿Es posible?

¿Fue útil?

Solución

Un poco más difícil si necesitas ser exacto en el ancho y no estás usando una fuente monoespaciada.

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

No probado ni optimizado;sólo una prueba de concepto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top