响应Colspan(HTML表)

时间:2017-03-26 18:01:28

标签: jquery html-table

我创建了一个能够响应不同屏幕尺寸的表格,并根据需要显示和折叠列,以适应可以加载它的不同设备。

然而,我遇到的一个问题是colspan元素。在某些情况下,我希望在整行上都有一个列。

快速搜索Github发现了以下jQuery:

$(function() {

    jQuery.fn.exists = function(){return this.length>0;}

    // Dynamic Colspan
    if($('[colspan="auto"]').exists())
    {
        $.each($('[colspan="auto"]'), function( index, value ) {
            var table = $(this).closest('table');    // Get Table
            var siblings = $(this).closest('tr').find('th:visible, td:visible').not('[colspan="auto"]').length; // Count colspan siblings
            var numCols = table.find('tr').first().find('th:visible, td:visible').length; // Count visible columns
            $(this).attr('colspan', numCols.toString()-siblings); // Update colspan attribute
        });
    }

});

来源:https://gist.github.com/afbora/6c98337a3455d45b6ae4e620d5cfbcf2

以下是我的表结构示例:

<table>
  <thead>
    <tr>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td colspan="auto">Divider</td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
  </tbody>
</table>

正如您所看到的,我有一行使用colspan="auto",并且可以很好地使用上面的jQuery源代码。

但是,如果选择将<td>隐藏在响应式样式表中,则会出现这种情况。我们不会在幕后(DOM)从colspan="6"切换到colspan="5",而是以colspan太大的一行结束。

我已查看window.onresize但尚未取得任何成功。

1 个答案:

答案 0 :(得分:0)

查找没有#include <stdio.h> #include <cs50.h> int main (void) { char *strings = malloc(sizeof(char) * 10); printf("What is your name?\n"); //wait for use to type his/her name strings = get_string(); printf("Hello %s\n", strings); free (strings); return 0; } th的第一行,然后找到隐藏的td[colspan],然后将该特定索引隐藏在除行之外的所有行上:

td

jsFiddle