如何只显示 table 的最后 20 列?
How can a display only the last 20 columns of a table?
所以我知道这可能是一个愚蠢的问题,但我为此浪费了很多时间,我无法做到这一点。
我有这个 table (class : responstable
),在它的 <td>@c</td>
中,我将显示我的数据库中的一些值。问题是我在那里存储了很多值,我有兴趣只显示 LAST 20 个值 -> 所以 only 最后 20 列
-(在我想要的值下也看到日期+时间)...
<div class="tabel-val">
<br><br>
<table id= "myTable" style="width:100%" class="responstable">
<tr class="val">
<th> value</th>
@for((c,w)<- map){
<td>@c</td>
}
</tr>
<tr class="time">
<th> time</th>
@for(k <- timeList){
<td> @k</td>
}
</tr>
<tr class="date">
<th> date</th>
@for(q <- dateList){
<td>@q </td>
}
</tr>
</table>
</div>
我尝试了一些东西:
$("table td:gt(5)").hide(); //displays only the 5 values (val class) , no time and date ...
谢谢!
。首先对可用列进行计数。然后通过变量'iwish'决定从最后算起多少列。这是代码
<table>
<tbody>
<tr>
<td>12</td>
<td>13</td>
</tr>
</tbody>
jquery
var total = $('table tr td').length;
var iwish = 1;
$('table tr').find('td').hide().end().find('td:gt('+(total - iwish -1 )+')').show()
您可以 CSS 单独执行此操作 - 使用 :nth-last-child
选择器。
只需使用以下内容:
.responstable td{
display: none;
}
.responstable td:nth-last-child(-n + 20) {
display: table-cell;
}
这是一个 demo(我在其中显示一行的最后 3 列)
td {
text-align: center;
border: 1px solid black;
}
table {
table-layout: fixed;
}
td {
display: none;
}
td:nth-last-child(-n + 3) {
display: table-cell;
}
<div class="tabel-val">
<br>
<br>
<table id="myTable" style="width:100%" class="responstable">
<tr class="val">
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
<td>7</td>
<td>8</td>
<td>9</td>
<td>10</td>
</table>
</div>
这可以使用 :nth-last-child(n)
selector 和波浪号 (~
) selector 到 select 之后的所有对象来完成。
td{
border:1px solid black;
display:none;
}
td:nth-last-child(4) ~ td{
display: initial;
}
此示例将仅显示单元格 a5 和 b5 之后的单元格(因为它们位于倒数第 4 个)。
在您的情况下,您宁愿需要使用 td:nth-last-child(21) ~ td
来仅显示最后 20 个单元格。
<table>
<tr>
<td>a1</td>
<td>a2</td>
<td>a3</td>
<td>a4</td>
<td>a5</td>
<td>a6</td>
<td>a7</td>
<td>a8</td>
</tr>
<tr>
<td>b1</td>
<td>b2</td>
<td>b3</td>
<td>b4</td>
<td>b5</td>
<td>b6</td>
<td>b7</td>
<td>b8</td>
</tr>
</table>
这是一个用于演示的 JSFiddle http://jsfiddle.net/j2foq7hy/1/
td:nth-last-child(-n + 3) {
display: table-cell;
}
所以我知道这可能是一个愚蠢的问题,但我为此浪费了很多时间,我无法做到这一点。
我有这个 table (class : responstable
),在它的 <td>@c</td>
中,我将显示我的数据库中的一些值。问题是我在那里存储了很多值,我有兴趣只显示 LAST 20 个值 -> 所以 only 最后 20 列
-(在我想要的值下也看到日期+时间)...
<div class="tabel-val">
<br><br>
<table id= "myTable" style="width:100%" class="responstable">
<tr class="val">
<th> value</th>
@for((c,w)<- map){
<td>@c</td>
}
</tr>
<tr class="time">
<th> time</th>
@for(k <- timeList){
<td> @k</td>
}
</tr>
<tr class="date">
<th> date</th>
@for(q <- dateList){
<td>@q </td>
}
</tr>
</table>
</div>
我尝试了一些东西:
$("table td:gt(5)").hide(); //displays only the 5 values (val class) , no time and date ...
谢谢!
。首先对可用列进行计数。然后通过变量'iwish'决定从最后算起多少列。这是代码
<table>
<tbody>
<tr>
<td>12</td>
<td>13</td>
</tr>
</tbody>
jquery
var total = $('table tr td').length;
var iwish = 1;
$('table tr').find('td').hide().end().find('td:gt('+(total - iwish -1 )+')').show()
您可以 CSS 单独执行此操作 - 使用 :nth-last-child
选择器。
只需使用以下内容:
.responstable td{
display: none;
}
.responstable td:nth-last-child(-n + 20) {
display: table-cell;
}
这是一个 demo(我在其中显示一行的最后 3 列)
td {
text-align: center;
border: 1px solid black;
}
table {
table-layout: fixed;
}
td {
display: none;
}
td:nth-last-child(-n + 3) {
display: table-cell;
}
<div class="tabel-val">
<br>
<br>
<table id="myTable" style="width:100%" class="responstable">
<tr class="val">
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
<td>7</td>
<td>8</td>
<td>9</td>
<td>10</td>
</table>
</div>
这可以使用 :nth-last-child(n)
selector 和波浪号 (~
) selector 到 select 之后的所有对象来完成。
td{
border:1px solid black;
display:none;
}
td:nth-last-child(4) ~ td{
display: initial;
}
此示例将仅显示单元格 a5 和 b5 之后的单元格(因为它们位于倒数第 4 个)。
在您的情况下,您宁愿需要使用 td:nth-last-child(21) ~ td
来仅显示最后 20 个单元格。
<table>
<tr>
<td>a1</td>
<td>a2</td>
<td>a3</td>
<td>a4</td>
<td>a5</td>
<td>a6</td>
<td>a7</td>
<td>a8</td>
</tr>
<tr>
<td>b1</td>
<td>b2</td>
<td>b3</td>
<td>b4</td>
<td>b5</td>
<td>b6</td>
<td>b7</td>
<td>b8</td>
</tr>
</table>
这是一个用于演示的 JSFiddle http://jsfiddle.net/j2foq7hy/1/
td:nth-last-child(-n + 3) {
display: table-cell;
}