Javascript 基于行文本和类合并表行

Javascript 基于行文本和类合并表行,javascript,html,merge,html-table,Javascript,Html,Merge,Html Table,我发现这个功能几乎完全适合我的需要。函数遍历表的第一列,行合并类似的值。然后,它遍历下一列,行也合并这些值,同时考虑前面列的合并。这样,它完全符合我的需要 function MergeCommonRows2(table, firstOnly) { var firstColumnBrakes = []; for (var i = 1; i <= table.find('th').length; i++) { var previous = null, cellT

我发现这个功能几乎完全适合我的需要。函数遍历表的第一列,行合并类似的值。然后,它遍历下一列,行也合并这些值,同时考虑前面列的合并。这样,它完全符合我的需要

function MergeCommonRows2(table, firstOnly) {
    var firstColumnBrakes = [];
    for (var i = 1; i <= table.find('th').length; i++) {
        var previous = null, cellToExtend = null, rowspan = 1;
        table.find("td:nth-child(" + i + ")").each(function (index, el) {
            if (previous == $(el).text() && $(el).text() !== "" && $.inArray(index, firstColumnBrakes) === -1) {
                $(el).addClass('hidden');
                cellToExtend.attr("rowspan", (rowspan = rowspan + 1));
            } else {
                if (firstOnly == 'first only') {
                    if (i === 1)
                        firstColumnBrakes.push(index);
                } else {
                    if ($.inArray(index, firstColumnBrakes) === -1)
                        firstColumnBrakes.push(index);
                }
                rowspan = 1;
                previous = $(el).text();
                cellToExtend = $(el);
            }
        });
    }
}
函数MergeCommonRows2(表,仅限第一个){
var=[];

对于(var i=1;我可以将一个示例表(包含一些类)和您的代码放入jsfiddle.net吗?这将有助于更快地获得响应。还可以使用一些关于应该合并哪些内容的说明…或将其放入堆栈片段(问题编辑器中的代码片段)这样我们就可以在不留下堆栈溢出的情况下运行它。另外,您可能希望提及您以前尝试过的内容,这样我们就不会重复您已经遇到的问题。好的,我有一个JSFIDLE。它基本上是从这里的问题中提取出来的,并编辑“单击我”单元格。我向它们添加了不同的类。如果单击“与上一列合并”按钮或诸如此类的按钮,它们仍然会合并。Jsfiddle:如果需要任何其他信息,请告诉我。