省略号的解决方案——Jquery + Bootstrap + Datatables

Nic*_*ico 2 javascript ellipsis datatables twitter-bootstrap jquery-dotdotdot

我在一个带有引导程序和 jquery 的站点上使用数据表来处理大型(2000 多个条目)表。一些(文本)值太长了,目前我使用的是这样的:

render: function ( data, type, row ) {
                        return data.length > 35 ?
                        data.substr( 0, 35 ) +'…' :
                            data;
                    }
Run Code Online (Sandbox Code Playgroud)

在数据表中剪切字符串并在 html 标题中显示完整值。有一个更好的方法吗?就像一个自动剪切但在点击时显示所有内容的插件或类似的东西?我无法找到一些东西。

我看到了 jquery dotdotdot,但它没有让我点击扩展。

dav*_*rad 5

在 javascript 中修改字符串以使其更易于查看或“适合”某些 DOM 元素是完全不行的。特别是当您在这里有许多字符串在回调中进行预处理时。

如果您强制某些(或所有)列具有固定宽度,例如:

table.dataTable td:nth-child(3) {
  max-width: 100px;
}
Run Code Online (Sandbox Code Playgroud)

然后你可以使用简单的 CSS 来确保列的内容没有被换行,不会超出边距,如果太大则显示一个很好的省略号

table.dataTable td  {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
Run Code Online (Sandbox Code Playgroud)

演示 -> http://jsfiddle.net/ax1gr1og/