如果字符超过一定限度,如何修剪元素的内容并放“…”?
如果它太长,我想修剪一部分
正如您所看到的那样,如果主题太长,可能会使表格陷入困境。
是否有任何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: hidden
和white-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 + "..."); } });