如果字符超过一定限度,如何修剪元素的内容并放“…”?

如果它太长,我想修剪一部分

。 这将确保表格不会搞砸。 从数据库中检索下表中的所有数据。 在“主题”部分,如果文字超过某个字符限制,我怎么能缩短文字并加上“……”? 以下是该表的屏幕截图:

截图

正如您所看到的那样,如果主题太长,可能会使表格陷入困境。

是否有任何jQuery只有在超过某个限制并且在结尾处放置“…”时才会修剪元素? 我不认为截断插件会起作用,因为它通常将它拆分并进行换行,我不需要它显示,因为所有使用它的人都必须点击“查看票证”他们会看到那里有完整的主题。

我在StackOverflow上搜索了其他问题,但我找不到我需要的东西。

这是一个小片段,我曾经看过艺术家的名字是否超过33个字符

 // Elipses $('.artistName').each(function() { var that = $(this), title = that.text(), chars = title.length; if (chars > 33) { var newTitle = title.substring(0, 30) + "..."; that.text(newTitle); } }); 

只需将.artistName选择器替换为表格单元格的选择器,然后更新字符计数以反映您想要的内容。

您可以使用CSS text-overflow: ellipsis属性。

根据此兼容性表 ,所有主流浏览器都支持它。


基于这个答案 ,看起来您还需要定义table-layout: fixed在表格上,以及overflow: hiddenwhite-space: nowrap在单元格上。 固定表格布局还需要您明确调整列宽。

这是一个尊重单词边界的函数(它不会将单词分成两半)。

 var maxLength = 30; $('.shorten').each(function() { var text = $(this).text(); if (text.length > maxLength) { var output =/^.{0,30}(?=[\.,; ])\b/.exec(text)[0] $(this).text(output + "..."); } });