rowspan 动态变化_使用colspan和rowspan动态删除html表中的多个列

好的,您的代码中的一个问题是,您删除了当前正在使用for进行迭代的单元格。我改变了你的第一个循环来完成所有反向:for (var i = (rows[0].cells.length -1); i >= 0; i--),从后到前...所以没有索引在删除时发生变化。

第二个问题是你的内部for循环。使用第一个for循环迭代3列并在内循环中假设每行具有相同数量的cols,但事实并非如此。我更改了代码,如果单元格的colspan大于1,则减少colspan,否则删除单元格。

完整的已更新代码为:

var countColumns = function(table) {

if (!table || !table.tagName || table.tagName != 'TABLE') { throw new Error("The parameter 'table' must be a

var maxColumnsCount = 0;

for (var i = 0; i < table.rows.length; i++) {

maxColumnsCount = Math.max(table.rows[i].cells.length, maxColumnsCount);

}

return maxColumnsCount;

};

var table = document.getElementById('Just_for_california');

var rows = table.rows;

for (var i = (countColumns(table) -1); i >= 0; i--)

{

var str = '';

var cellToDelete = [];

if (rows[0].cells[i] != undefined) {

str = rows[0].cells[i].innerHTML;

cellToDelete.push(i);

} else if (rows[0].cells[i -1].colSpan > 1) {

str = rows[0].cells[i -1].innerHTML;

cellToDelete.push(i -1);

cellToDelete.push(i);

}

if (str.search("") != -1) {

for (var j = 0; j < rows.length; j++)

{

for (var k = 0; k < cellToDelete.length; k++) {

if (rows[j].cells[cellToDelete[k]] != undefined) {

if (rows[j].cells[cellToDelete[k]].colSpan > 1) {

rows[j].cells[cellToDelete[k]].colSpan -= 1;

} else {

rows[j].deleteCell(cellToDelete[k]);

}

}

}

}

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/296766.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[转]Linux中如何自动启动服务

linux自动启动服务很简单&#xff0c;最简单的是把启动命令放到/etc/rc.d/rc.local文件里。这样就可以每次启动的时候自动启动服务了。例如对于 apache&#xff0c;编译好apache后会在安装目录的bin下生成apachectl文件&#xff0c;这是个启动脚本&#xff0c;我们只需要把这个…

一个C实现的线程池(产品暂未运用)

https://github.com/Pithikos/C-Thread-Pool

html首页 slider图片切换效果,jQuery插件Slider Revolution实现响应动画滑动图片切换效果...

jQuery插件Slider Revolution实现响应动画滑动图片切换效果2018-12-31编程之家https://www.jb51.cc这是一款非常强大的内容切换插件&#xff0c;它基于jQuery&#xff0c;它充分响应&#xff0c;支持移动设备&#xff0c;支持手机触摸&#xff0c;键盘翻页&#xff1b;它内置幻…

Asp.Net+Jquery.Ajax详解5-$.getScript

目录&#xff08;已经更新的文章会有连接&#xff0c;从7月25日开始&#xff0c;每2到3天更新一篇&#xff09;&#xff1a; Asp.NetJquery.Ajax详解1-开篇&#xff08;2012.07.25发&#xff09; Asp.NetJquery.Ajax详解2-$.Load&#xff08;2012.07.26发&#xff09; Asp.NetJ…

大数据告诉你:学历真的能改变命运!!

全世界只有3.14 % 的人关注了爆炸吧知识央视新闻曾做过关于高考的调查&#xff0c;结果有七成网友支持高考取消数学&#xff0c;看到新闻后&#xff0c;有一位网友却一针见血地评论道&#xff1a;数学考试存在的意义就是把这七成网友筛选掉。的确&#xff0c;虽然买菜不需要专业…

.net core 中如何有效屏蔽重复提交

咨询区 Guilherme Ferreira&#xff1a;我通过 post 方式向我的一个webapi中提交数据&#xff0c;然后插入到数据库中&#xff0c;在 ui端&#xff0c;当用户点击某一个 button 之后&#xff0c;代码会将 button 禁用&#xff0c;但因为某些原因&#xff0c;点击按钮的速度比禁…

小米8ios图标包下载_小米互传PC端抢先下载,免流量、高速互传,支持多设备共享...

小米早在MIUI初期就已经在开始探索手机与电脑之间互传文件的问题&#xff0c;MIUI"无线数据线"功能一直备受喜欢。手机与电脑之间互传&#xff0c;90%的用户都选择使用WX或者QQ来实现&#xff0c;它们互传的通道是互联网&#xff0c;无网时不可使用。为解决这个问题&…

sql server2008中怎样用sql语句创建数据库和数据表

这是简单用代码实现创建数据库和数据表的sql语句&#xff0c;如下&#xff1a; --调用系统数据库-- use master go /***防止你要创建的数据库同名&#xff0c;先把它删除掉****/ if Exists(select * from dbo.sysdatabases where nameTestDB) begin drop database TestDB end g…

[C++][IO]读写二进制文件

1. 以二进制方式读写结构体 struct Student {string name;string sex;int age; }void write(string filePath, const struct Student* stu, int n) {FILE *fp;int i;if((fpfopen(filePath,"wb"))NULL){printf("cant open the file");return;}for(i0;i<n…

HTML怎么做类似QQ聊天气泡,h5实现QQ聊天气泡的实例介绍

这篇文章主要介绍了HTML5实现QQ聊天气泡效果&#xff0c;用 HTML/CSS 做了个类似QQ的聊天气泡&#xff0c;具有一定的参考价值&#xff0c;感兴趣的小伙伴们可以参考一下今天自己用 HTML/CSS 做了个类似QQ的聊天气泡&#xff0c;以下是效果图&#xff1a;以下说下关键地方的样式…

高等数学的用处之一

1 只能说计算的真精准2 龙虾&#xff1a;我都准备半天了&#xff0c;你俩到底上不上&#xff1f;3 猫(≧^.^≦)&#xff1a;我为这个宿舍付出太多了&#xff01;4 请举一个日常生活中利用高等数学来解决问题的案例。5 男生做什么会让女生不开心7 人家拍的泸沽湖的水性杨花和我拍…

wp7 blogs

http://blog.csdn.net/jazywoo123/article/month/2012/04/3转载于:https://www.cnblogs.com/songtzu/archive/2012/08/09/2630573.html

k8s 查看ip地址属于哪个pod_Kubernetes Pod 如何获取 IP 地址

【编者的话】在学习 Kubernetes 网络模型的过程中&#xff0c;了解各种网络组件的作用以及如何交互非常重要。本文就介绍了各种网络组件在 Kubernetes 集群中是如何交互的&#xff0c;以及如何帮助每个 Pod 都能获取 IP 地址。Kubernetes 网络模型的核心要求之一是每个 Pod 都拥…

Fiddler抓包一键生成调用代码

首先我们的需求场景是用Fiddler抓到某个接口调用后&#xff0c;用代码来模拟调用&#xff0c;一般我们写代码会有3个步骤&#xff1a;1设置http请求相关的参数:header,method,url,cookie等2设置post的body(如果是post的话需要)3拿到返回的body(一般我们需要拿到接口的返回体进行…

frame框架的显示隐藏操作 (转)

下面是主要代码&#xff1a; index.htm <html><head><meta HTTP-EQUIV"Content-Type" CONTENT"text/html; charsetgb2312"><meta name"GENERATOR" content"Microsoft FrontPage 4.0"><meta name"Prog…

DexClassLoader的使用

版权声明&#xff1a;您好&#xff0c;转载请留下本人博客的地址&#xff0c;谢谢 https://blog.csdn.net/hongbochen1223/article/details/47146613 在Java环境中,有个概念叫做”类装载器(Class Loader)”,其作用是动态加载Class文件.标准的Java SDK中有一个ClassLoader类,借助…

arm开发tq2440上的c++裸奔程序

AVR实验做到LCD的时候&#xff0c;就发现proteus上没有现成合适的显示模块&#xff0c;网上找的模块不是按一般方法封装的&#xff0c;想来自己还有一块arm9开发板&#xff0c;大概大三、大四时候买的&#xff0c;已经搁置三年了。毕业这两年已经从51玩到AVR&#xff0c;虽然大…

这才是老公的正确用法,不吃就往死里打......

1 倒是好办法就是有点儿费爸爸▼2 一只被主人遗弃的小熊的奇幻旅程▼3 小子&#xff0c;你单身的命运gu7在你把美女老师撂倒那一刻就注定了...▼4 张萌姐姐自我肯定式唱歌▼5 &#xff1f;&#xff1f;&#xff1f;有被冒犯到▼6 听说昨天有个少年28岁就退休了▼7 哪个男…

java将date类型转成yyyymmdd_Java时间日期格式转换

1.1 返回时间类型 yyyy-MM-dd HH:mm:sspublic static Date getNowDate() {Date currentTime new Date();SimpleDateFormat formatter new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String dateString formatter.format(currentTime);ParsePosition pos new Pars…

C# WPF MVVM模式下在主窗体显示子窗体并获取结果

01—前言在winform中打开一个新的子窗体很简单&#xff0c;直接实例化窗体并show一下就可以&#xff1a;Form2 f2 new Form2();f2.Show();或者Form2 f2 new Form2();f2.ShowDialog();但是&#xff0c;在wpf的mvvm模式下&#xff0c;这种方法是行不通的&#xff0c;因为逻辑是…