【发布时间】:2011-04-25 07:21:03
【问题描述】:
我有几个网页,其中包含不同数量的表格和不同数量的列。
我在网上寻找一个 jquery spinet,它获取表的列数,并根据列数定义每列的宽度。
例如
if (noOfTdOnTable == 2) {
tdWidth = "50%";
}
if (noOfTdOnTable == 3) {
td1Width = "40%";
td2Width = "40%";
td3Width = "20%";
}
if (noOfTdOnTable == 4) {
td1Width = "35%";
td2Width = "25%";
td3Width = "15%";
td4Width = "15%";
}
更新
使用我得到的唯一答案,我目前有这个,但只有在页面上有一个表格时才有效,当有两列时我不知道如何应用。
var num = $("table > td").length;
if (num % 4 == 0) {
$("table > td:eq(0)").css("width", "50%");
$("table > td:eq(1)").css("width", "30%");
$("table > td:eq(2)").css("width", "10%");
$("table > td:eq(3)").css("width", "10%");
}
if (num % 3 == 0) {
$("table > td:eq(0)").css("width", "50%");
$("table > td:eq(1)").css("width", "40%");
$("table > td:eq(2)").css("width", "10%");
}
这是一个 html 示例,但代码将适用于具有不同表数的许多页面,但所有表都将具有 2,3 或 4 列。
<html>
<table>
<tr>
<td>text</td>
<td>text</td>
<td>text</td>
</tr>
</table>
<table>
<tr>
<td>text</td>
<td>text</td>
</tr>
</table>
<table>
<tr>
<td>text</td>
<td>text</td>
<td>text</td>
<td>text</td>
</tr>
</table>
</html>
【问题讨论】:
-
愚蠢的问题:为什么不直接在 HTML 或 CSS 中设置表格单元格的宽度?
-
没有,因为我们的想法是将代码应用到已经使用大量表格创建的 100 个页面,而使用 html 或 css 执行此操作需要一段时间。
标签: jquery html-table width