Jquery 如果一行中只有一个可见的表格单元格,如何动态添加.attr(';colspan';,';100';)?

Jquery 如果一行中只有一个可见的表格单元格,如何动态添加.attr(';colspan';,';100';)?,jquery,html,wordpress,html-table,Jquery,Html,Wordpress,Html Table,因此,正如标题所示,我想使用jquery动态地将colspan=“100”添加到表行中的任何单独单元格中 我使用wordpress插件向页面添加一个表,但它不允许使用colspan,因此我使用jquery隐藏任何空单元格。 当一行中只使用一个单元格时,就会出现问题。我希望它是span100% 我需要能够计算每一行中的每个可见单元格,如果只有一个单元格,则将.attr('colspan','100')添加到该单元格中,以便填充该行 有什么想法吗?谢谢 这就是我用wordpress生成的内容 $(

因此,正如标题所示,我想使用jquery动态地将
colspan=“100”
添加到表行中的任何单独单元格中

我使用wordpress插件向页面添加一个表,但它不允许使用colspan,因此我使用jquery隐藏任何空单元格。 当一行中只使用一个单元格时,就会出现问题。我希望它是span
100%

我需要能够计算每一行中的每个可见单元格,如果只有一个单元格,则将
.attr('colspan','100')
添加到该单元格中,以便填充该行

有什么想法吗?谢谢

这就是我用wordpress生成的内容

$(文档).ready(函数(){
$('.columinal table tr')。每个(函数(){
$('td')。每个(函数(){
var cellText=$.trim($(this.text());
var$cellExp=$(this.closest('td').prev();
如果(cellText.length==0){
$(this.hide();
$cellExp.attr('colspan','2');
}
});
});
});

Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
这是一个脚本

    $(document).ready(function () {
        $('.curriculum table tr').each(function () {
           $('td').each(function () {
            var cellText = $.trim($(this).text());

            if (cellText.length == 0) {
                $(this).remove();
            }
           });
          if ($(this).children("td").length == 1) {
            $(this).children("td").attr("colspan", "100")
        }
        });
    });

我将从后面跟一个空单元格的所有单元格开始,然后删除后面的所有空单元格,同时添加colspan(代码中的注释):

$('td').filter(函数(){
return$(this).next().text().trim()=='';//获取后面有空单元格的所有tds
}).each(函数({
var$original=$(this);//获取原始单元格
if(!$original.hasClass('remove'){//检查单元格是否已标记为要删除
变量计数器=1,
$item=$original;
做{
如果($item.next().text().trim()=''){
//下一个单元格为空,增加colspan并重置do…而下一个单元格为空
计数器++;
$item=$item.next().addClass('remove');
}
}而($item.next().length&&$item.next().text().trim()='');
$original.attr('colspan',counter);//在第一个单元格上设置colspan
}
});
$('.remove').remove();
//合并任何以前的空单元格
$('td').filter(函数(){
$prev=$(this.prev();
return$prev.length&&$prev.text().trim()=='';//获取前面有空单元格的所有tds-应仅为开始行的tds
}).each(函数({
var$original=$(此),
$prev=$original.prev();
var colspan=getColspan($original)+getColspan($prev);
$original.attr('colspan',colspan);
$prev.remove();
});
函数getColspan($elem){
var attr=$elem.attr('colspan');
if(typeof attr!==typeof undefined&&attr!==false){
返回parseInt(attr);
}
返回1;
}
td{
垂直对齐:顶部;
边框:1px纯黑;
}

Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英
Lorem ipsum dolor sit amet,奉献精英

使用
colspan=100
起初不是一个好的解决方案。计算最大td计数,然后将其用作colspan可能是一个更好的主意。如果您不想在一行中有超过1个可见单元格时隐藏其他单元格,可以轻松地修改此代码以实现此目的

$(文档).ready(函数(){
var maxtcount=0;
$('.columinal table tr')。每个(函数(){
$('td')。每个(函数(){