jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 动态计算和设置colspan值大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在单元格中有一个包含冗余数据的表. [左表] @H_696_5@ @H_696_5@我需要将它们加入一个单元格. [右表]

@H_696_5@表结构:

@H_696_5@
<table>
  <tr>
    <td class="bold">Value1:</td>
    <td class="green">A</td>
    <td class="green">A</td>
    <td class="green">A</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td class="green">B</td>
    <td class="green">B</td>
  </tr>
  <tr>
    <td class="bold">Value2:</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td class="green">C</td>
    <td class="green">C</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td class="green">D</td>
    <td>&nbsp;</td>
  </tr>
</table>
@H_696_5@我能够隐藏冗余单元格,但我需要以某种方式设置COLspan.

@H_696_5@
$(document).ready(function () {

var all = $('.green');
var seen = {};
all.each(function () {
    var txt = $(this).text();
    if (seen[txt]) {
        $(this).hide();
    }
    else {
        seen[txt] = true;
    }
});


});
@H_696_5@谢谢.

解决方法

var first;
var prev = undefined;
var colspan = 1;

var setColspan = function () {
    first.attr('colspan',colspan);
    colspan = 1;
}

all.each(function () {
    var txt = $(this).text();
    if (prev === txt) {
        colspan += 1;
        $(this).remove();
    } else {
        // doesnt match,set colspan on first and reset colspan counter
        if (colspan > 1) {
            setColspan();
        }
        first = $(this);
        prev = txt;
    }
});

if (colspan > 1) {
    setColspan();
}
@H_696_5@认为它做你想要的,检查匹配列值的连续块,如果找到匹配,它将删除它,当它没有找到匹配并且colspan足够大时它在列表中的第一个设置COLspan然后重置.如果连续值跨越一行的末尾并进入下一行的开头,则它不起作用.如果是这样的话,我会想要一行一行地做

@H_696_5@如果最后一组列也是连续的,则使用边缘大小写更新.在那种情况下,它不会设置COLspan.

大佬总结

以上是大佬教程为你收集整理的jquery – 动态计算和设置colspan值全部内容,希望文章能够帮你解决jquery – 动态计算和设置colspan值所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。