Considere o seguinte exemplo: ( demonstração ao vivo aqui )
$(function() {
console.log("width = " + $("td").width());
});
td {
border: 1px solid black;
width: 50px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<tbody>
<tr>
<td>Hello Stack Overflow</td>
</tr>
</tbody>
</table>
A saída é width = 139
:, e as reticências não aparecem.
O que estou perdendo aqui?
width
e height
nas células da tabela são sempre usadas como largura e altura mínimas . As células da tabela são diferentes!