代码之家  ›  专栏  ›  技术社区  ›  Jla

如何创建与上一个表具有相同维度的表

  •  1
  • Jla  · 技术社区  · 14 年前

    我想创建一个宽度相同的表(表及其单元格),然后动态创建上一个

    第一

    __________________
    |_____|___|_______|
    |_____|___|_______|
    |_____|___|_______|
    

    第二

    __________________
    |_____|___|_______|
    |_____|___|_______|
    

    我需要做什么来设置第二个与所需的宽度。(表1的宽度取决于它的内容)。

    编辑: 最后,我选择了jquery解决方案,并这样做了:

      $("#mySecondTable tr") // mySecondTable was already generated server side
      .first() // All rows in my second table are similar so I just apply on the first one
      .find("td")
      .width(function(i){ return $("#myFirstTable tr").eq(1).find("td").eq(i).width() })
      // eq(1) fetches the line I want to use as a model since some have different colspans
      .end()
    
    7 回复  |  直到 14 年前
        1
  •  1
  •   Sampson    14 年前

    你可以用 jQuery 很容易:

    $("table.foo")
      .clone()
        .find("td")
          .html("")
          .width(function(i){ return $("table.foo td").eq(i).width() })
          .height(function(i){ return $("table.foo td").eq(i).height() })
        .end()
      .appendTo("body");
    

    在线演示: http://jsbin.com/obuco/3/edit

        2
  •  5
  •   Matt Ball    14 年前

    使用javascript(我建议使用jquery)获取每个“列”的宽度( th / td )从第一张桌子开始,设置 width css属性设置为 和/或 TD 在第二张桌子上。

        3
  •  2
  •   Luca Rocchi    14 年前

    如果在您的情况下可以接受,请在两个表上使用style=“table layout:fixed;”,以精确控制单元格宽度

        4
  •  1
  •   Dean J    14 年前

    快速而肮脏的答案是:您可以使它们成为一个表,它们之间的文本是一行colspan=“x”,其中x是表中的列数,或者是列数+1。

        5
  •  -1
  •   Paul    14 年前

    因为php在服务器端工作,所以它无法知道浏览器窗口的大小和/或表的设计。它可以检查表单元格内容中的字符串长度,您可以估计和设置输出中任何单元格的宽度。但是如果表1没有宽度属性,您可能需要在第二个表上使用一些javascript来使它们适合第一个宽度。

        6
  •  -1
  •   Sonny    14 年前

    “卢卡”和“熊会吃掉你”给出了两个很好的解决方案。我看到的另一个方法是将所有数据放在一个表中,而不是放在两个表中。

        7
  •  -1
  •   Ralph The Mouf    14 年前

    如果我理解正确的话,看起来你应该只是css所需的宽度,然后一切都将根据插入的内容进行拉伸