2014-01-30 17 views
0

我有一些div包含具有固定宽度的容器内的各种数量的文本。要停止从容器外部溢出的文本,我使用了下面的CSS:使用jQuery来计算溢出文本的宽度

overflow:hidden; 
text-overflow:ellipsis; 
white-space:nowrap; 

有没有什么办法可以计算出文本的宽度,因为这将是如果它是不切断? 使用下面的代码只给我提供了修剪后的宽度。

$('.boxText').width(); 

只是为了澄清 - 我谈论的宽度。 不是的字符长度。

+1

你的html看起来像什么?我认为它的文本是包含在一个p例如,它可能可以计算宽度p – Huangism

+0

它目前在一个div标签,但我会看到,如果使它成为'p'标签有帮助! –

+0

尝试div标签内的p标签。它可能比我想象的更复杂,但希望这有助于http://jsfiddle.net/XD4kD/ – Huangism

回答

3
var divWidthBefore = $('.boxText').width(); 
$('.boxText').css('width','auto'); 
var divWidth = $('.boxText').width(); 
$('.boxText').width(divWidthBefore); 
+0

+1这是最简单明显的解决方案,而不是黑客文字的宽度 – Leo

+0

这部分工作,但我需要使用CSS过渡将初始宽度更改为'自动'宽度,CSS过渡不'不喜欢'auto'值! :( –