- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在表数据上添加 colspan 或 rowspan
情况就像我有一个 5x5 的表格,我想通过用鼠标选择 2 列来合并列并想要合并。这很容易,我可以做到这一点,但是问题出现了
黄色显示 colspan(合并)
我尝试做类似的事情
红色显示了我想要合并的内容,因此最终输出应该是将所有六个单元格合并为 1 个单元格,并且可以看到许多其他这种类型的情况。因此,请指导我进行同样的操作。
最佳答案
你可以这样做,也许不是最优雅的,但它有效,我希望它适合你:
首先准备带有属性的表。
function prepare()
{
var row = 0;
$('table tr').each(function ()
{
var tr = $(this);
var curCol = 0;
var caught = $(this).data('caught');
$('td', this).each(function (index)
{
while (caught && caught[curCol])
curCol++;
var colspan = $(this).attr('colspan') || 1;
var rowspan = $(this).attr('rowspan');
$(this).attr('start', curCol);
$(this).attr('end', curCol + colspan - 1);
$(this).attr('startrow', row);
$(this).attr('endrow', row + rowspan - 1);
var next_tr = tr.next();
for (var i = 0; i < rowspan - 1; i++)
{
var curCaught = next_tr.data('caught') || [];
for (var j = curCol; j < curCol + colspan; j++)
curCaught[j] = true;
next_tr.data('caught', curCaught);
next_tr = next_tr.next();
}
curCol += colspan;
});
row++;
})
}
然后您可以调用此函数并向其发送选定的 tdies:
function getBoundingRectangle(tds)
{
var minCol = tds.min(function(){return $(this).attr('start');});
var maxCol = tds.max(function(){return $(this).attr('end');});
var minrow = tds.min(function(){return $(this).attr('startrow');});
var maxrow = tds.max(function(){return $(this).attr('endrow');});
var rec = $('td').filter(function()
{
var startRow = $(this).attr('startrow');
var startCol = $(this).attr('start');
var endRow = $(this).attr('endrow');
var endCol = $(this).attr('end');
return (startRow >= minrow && startRow <= maxrow && startCol >= minCol && startCol <= maxCol) ||
(endRow >= minrow && endRow <= maxrow && endCol >= minCol && endCol <= maxCol);
});
if (rec.length == tds.length)
{
debugger;
var first = rec.filter('[start=' + minCol + '][startrow=' + minrow + ']')
rec.not(first).remove();
first.attr('colspan', maxCol - minCol + 1);
first.attr('rowspan', maxrow - minrow + 1);
return rec;
}
else return getBoundingRectangle(rec);
}
还添加下一个实用函数:
$.fn.max = function(func)
{
var arr = this.map(func).toArray();
return Math.max.apply( Math, arr );
};
$.fn.min = function(func)
{
var arr = this.map(func).toArray();
return Math.min.apply( Math, arr );
};
关于jquery - 在表中动态添加 colspan 和 rowspan,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9109247/
我正在编写一个动态创建 HTML 表格的 PHP 脚本。 有两件东西丢失了,找不到相关信息。 我想减少 rowspan 单元格的“填充”,它在水平方向上太大了。您可以使用什么来修改内部字符串和单元格末
我有 HTML 表格。我正在遍历表并遍历其第三个单元格具有 rowspan 属性的每一行。我如何检查是否找到 rowspan 然后检查它的第一个单元格是否有文本。如果是,则分配给 javascript
我将通过一个示例向您展示我的问题,这里我使用带有 rowspan 的列: Familie Jill Smith 50 Eve Jackson 94 不知何故,当
see fiddle 首先,我是 jquery 的新手。 我只需要选择一个单元格#tableAppointment tbody tr td:nth-child(2)文本框值应转到选择开始的下一个单元格
我不明白为什么我的列不会跨越我创建的顶部和底部行。它应该看起来像“今天”栏的顶部和底部比其他栏高。 这是很多代码,我不确定在不变形或添加新变量(它需要流体高度)的情况下我应该削减什么。JSFiddle
我有一个简单的 table 和 rowspan 。我需要那个单元格 1、单元格 2 和单元格 6 的大小相同。请问我怎样才能做到这一点 number1 number3
我只是想问一下我是否可以把在顶部,因为我在 上使用了一个 rowspan .请参阅下面的示例。 这是我的代码: Month Savings Savings for h
请注意,“倒置”表示 现在代表一列。 我使用这个 CSS 代码(我在互联网上找到的)反转了一个 HTML 表格: table { border-collapse: collapse; } tr {
我用 html 制作了一个表格,但是当我尝试增加表格单元格的高度时,它并没有增加。 这是 index.html 文件: Title Card
我正在尝试创建一个表格,其中第 1 行中的单元格 1 和单元格 2 都跨越 2 行以获得更大的标题,同时仍位于它们自己的单独单元格中。看起来像这段代码的东西 Quarter
我试图让最后一行跨越前一行的 3 行。但是由于某种原因,这不起作用,我已经用几种不同的方式多次重写了代码,但似乎无法让它起作用: CSS: .div_walkthroughs_wrapper {
我一直在尝试实现一些非常简单的事情,如下所示,在我的代码中,您可以看到,在 td 中,我设置了 rowspan="2" 并放置了一个 输入“id=图像”。我正在尝试将图像放在 input 字段下方。
我应该有一些非常简单的 html,但由于某种原因,我无法使 rowspan 工作。它不会填充整个左侧列,而是只占据其底部的一个单元格。我想要这样的东西: +----------+-----------
如何在这种结构中制作一个 html 表格? +--------------+-----+--------------+ | | | | |
我想我正在尝试做的这个模式比问题本身更具描述性。 +------------------------+-----------------------+ |
我有一个类似 this 的表格: Items Type Values Date
我见过一些类似的问题,但没有任何答案可以回答这个特定问题。考虑下表: one two three four
aaaaaaaaaaaa aaaaaaaaaaaa aaaaaaaaaaaa aaaaaaaaaaaa table td { padding: 3px
我有一张 table (2 x 2)。如果我在行跨度为 2 的第一个单元格中添加一个短语作为单元格,它就可以工作。但如果我使用图像作为单元格,行跨度永远不会适用。 float[] rowwid
我希望一周的学生和事件以日历格式显示。我有如下数组。每个学生有 7 个数组,从星期一到星期天,每个数组的内部都有当天的事件 $array = [ 'Alex' => [ [
我是一名优秀的程序员,十分优秀!