Mar*_*ius 7 javascript string jquery
我有一个表,在每个单元格中我想放置字符串,但它们比单元格宽度宽得多.为了防止换行,我想缩短字符串以适应单元格,并在末尾附加"..."以指示字符串更长.
该表有大约40行,必须对每个单元格进行,所以它很快就很重要.我应该使用JS/jQuery吗?
我该怎么办?
感谢您的时间.
亲切的问候,
马吕斯
您可以使用CSS - 文本溢出:省略号 - 为此 - 对于某些浏览器和此处列出的变通方法有一些注意事项:
http://mattsnider.com/css/css-string-truncation-with-ellipsis/(已存档)
这应该是诀窍,其中8是您要保留的文本的大小
$('td').each(function(){
$(this).text($(this).text().substring(0,8)+"...");
});
Run Code Online (Sandbox Code Playgroud)
回答你的评论我认为jquery width()应该有助于你前进,但我认为你的滑向slop你应该考虑一些不同的东西,如将文本放入div或使用flexigrid或jgrid
使用我的jQuery插件:jQuery-Shorten.它处理所有情况,利用文本溢出:省略号(如果可用)并且速度非常快.
下载: github.com/MarcDiethelm/jQuery-Shorten
演示和文档:http: //web5.me/jquery/plugins/shorten/shorten.doc.html
您可以配置文本的结束方式(省略号).默认值是三个点的字符("...",&hellip ;,统一:2026),但你可以使用任何你想要的,包括标记.
'selected'元素的文本宽度(例如span或div)是使用Canvas测量的,或者将它放在临时表格单元格中并缩短(最初使用有根据的效率猜测)并再次测量直到它(和附加的省略号)或文本)适合块内."selected"元素上的工具提示显示完整的原始文本.