【问题标题】:How to set HTML table cell width using JavaScript and jQuery如何使用 JavaScript 和 jQuery 设置 HTML 表格单元格宽度
【发布时间】:2011-09-18 05:23:41
【问题描述】:

我有一个如下所示的 HTML 表格;

<table style="width: 100%">
<tr>
<td style="width: 30px">cell</td>
<td class="cell">cell</td>
<td class="cell">cellcell</td>
<td class="cell">cellcellcell</td>
<td class="cell">cellcellcellcell</td>
<td class="cell">cellcellcellcellcell</td>
<td class="cell">cellcellcellcellcellcell</td>
<td style="width: 30px">cell</td>
</tr>
</table>

表格旨在拉伸到屏幕(或具有特定宽度的 div)。我希望所有具有class="cell" 的单元格的宽度相等,并且当具有class="cell" 的所有单元格中的文本字符长度相等时,这很有效。但是,即使class="cell" 中内容的字符长度不同,我也想修复单元格宽度。

您还可以看到,第一个和最后一个单元格具有固定宽度,以 像素 为单位,其他单元格宽度将根据百分比计算。我希望所有单元格的宽度相同(除了first 和 last 具有固定宽度(以像素为单位)。

我认为这可以在 jQuery 的帮助下使用 Javascript 来完成,通过计算文档准备好的表格单元格宽度,然后使用 on window resize 添加一些函数,从而计算单元格宽度。单元格宽度将是(tablewidth in px - 60px)/6 我是初学者,我不太了解。我如何使用 jQuery 和(或)Javascript 来做到这一点。

如果有人让我成为小提琴,那将非常有帮助..

【问题讨论】:

  • 1.我们如何使用 css 或 html 设置宽度? 2. 我们如何使用 javascript/jquery 来做到这一点?
  • 您是说您希望每个单元格都具有相同的公共宽度(延伸),然后您说您要修复单元格宽度。也许你可以澄清你的要求。否则,您似乎应该使用 HTML 中的百分比简单地设置您的个人 &lt;td&gt; 宽度。

标签: javascript jquery css html-table


【解决方案1】:

你可以用 CSS 做到这一点,通过应用每个 td 相等的百分比:

td{
 width:   16%;
}

示例:http://jsfiddle.net/niklasvh/wKmxD/

对于更新后的问题,您可以使用 javascript 来完成,首先将宽度存储到一个数组中,然后在 window resize 上引用它,然后使用纵横比差异来放置新的宽度:

var w = [];
var tw = $('table').width();
$('table td').width(function(i,e){
    w[i]=e;
});

$(window).resize(function(){
    $('table td').width(function(i){
    return ($('table').width()/tw)*w[i];
    });
});

http://jsfiddle.net/niklasvh/543D9/

【讨论】:

  • 我正要发布几乎一字不差的答案。
  • 六列,每列 16% 加起来只有 96%...我认为剩余的 4% 不会很好地跨浏览器处理...(真的一个矛盾,因为一个对象等于其部分的总和)。此外,我不认为他要求这样做,否则他可以在 HTML 中设置他的&lt;td&gt; 宽度。另一方面,我什至不确定我是否理解他在问什么。
  • @Niklas.. 你有一个很好的逻辑,但是如果我有一些以像素为单位的特定长度的 tds 怎么办?...我重新编辑了我的问题以避免进一步的混淆,你会知道什么我想说... :)
  • @blasteralfred 不工作怎么办?它保持单元格的纵横比相同
  • 嗨@Niklas,看看@小提琴和我更新的问题:)
猜你喜欢
  • 2012-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-24
  • 2017-08-20
  • 2019-01-01
  • 2011-10-10
  • 2012-02-24
相关资源
最近更新 更多