当前位置: 首页 > news >正文

js 实现隔行幻色

构建界面:html:

<table cellspacing="0"><!-- 表格中的单元格设为0,没间距 -->
			<thead>
				<tr>
					<td>序号</td>
					<td>姓名</td>
					<td>操作</td>
				</tr>
			</thead>

			<tbody>
				<tr>
					<td>1</td>
					<td>data</td>
					<td><button>删除</button></td>
				</tr>
			</tbody>
		</table>
		<button class="addBut">添加</button>

js部分:

let addBut = document.getElementsByClassName('addBut')[0];
/* 获取添加按钮 为了添加事件 */
let tbody = document.querySelector('tbody');
/* 获取tbody为了对他进行操作 */
let data = 100;
/* 初始化data=100,为了让他自增 */

addBut.onclick = function() {
	/* 给addBut(添加按钮)添加点击事件 */
	let newTr = document.createElement('tr');
	/* 创建newTr(一个新的tr) */
	let newTd = document.createElement('td');
	/* 创建一个新的(创建第一个的Td单元格) */
	newTr.appendChild(newTd);
	/* 吧newTd插入到newTr里面   .前面被插入的*/
	let dataTd = document.createElement('td');
	/* 创建第二个td */
	data += 100;
	/* 给第二个单元格里面的数据 */
	dataTd.innerHTML = data;
	/* 吧 data的数据写到单元格里*/
	newTr.appendChild(dataTd);
	/* 吧dataTd插入到newTr */
	let operateTd = document.createElement('td');
	/* 创建第三个td单元格 */
	let tdButton = document.createElement('button');
	/* 创建一个新的删除按钮 */
	tdButton.innerHTML = '删除'
	/* 吧删除添加到新创建的tdButton删除按钮 */
	operateTd.appendChild(tdButton);
	/* tdButton插到opaerteTd */
	newTr.appendChild(operateTd);
	/* 吧operateTd插入到newTr中 */
	tbody.appendChild(newTr);
	/* 吧newTr插入到tbody里面 */
	call_color_idx();/* 序号 颜色 */
};

function call_color_idx() {/* 调用 */
	/* 吧颜色添加到点击事件里面 */
	let allTr = document.querySelectorAll('tr');
	/* 获取所有tr */
	// let setNumber = 1;
	/* 从序号1开始添加换色 */
	for (let i = 1; i < allTr.length; i++) {
		/* i<所有tr的长度 */
		if (i % 2 == 0) {
			/* 判断是否是偶数 */
			allTr[i].style.backgroundColor = '#AFEEEE';
			/* 如说是偶数allTr[i]就给他换颜色 */
		} else {
			allTr[i].style.backgroundColor = 'white';
			/* 如果是奇数就没有颜色 */
		}
		let Serial = allTr[i].querySelector('td:first-child');
		/* 创建一个序列号,=所有tr的第一个 */
		if (Serial) {
			/* 判断序号 */
			Serial.innerHTML = i;
			/* 吧创建的序号给serial */
			// setNumber++;
			/* 加一行添加一个序号 */
		}
	}
};

//删除按钮
tbody.addEventListener('click', function(e) {
	/* 给删除按钮添加一个点击事件 */
	let targetElement = e.target;
	/* 获取被点击的元素 */
	if (targetElement.innerHTML == '删除') {
		/* 点击的元素是不是删除 */
		let tr = targetElement.parentElement.parentElement;
		/* 删除按钮在tr父元素中用了两次 */
		tbody.removeChild(tr);
		/* 在tbody中移除tr */
		call_color_idx();/* 序号 颜色 */
	}

})

css:css就更简单了,如下:


table {
	width: 15%;
	border-collapse: collapse;
}

th,
td {
	text-align: center;
	border: 1px solid black;
}

效果如下:

相关文章:

  • 第五篇:DeepSeek-R1 的应用场景与未来展望
  • [特殊字符] 蓝桥杯 Java B 组 之位运算(异或性质、二进制操作)
  • Linux第十三节 — 进程状态详解
  • sklearn中的决策树-分类树:重要参数
  • reacct hook useState
  • RT-Thread+STM32L475VET6——icm20608传感器
  • Maven 基础环境搭建与配置(一)
  • 固态电容寿命
  • 【Java学习】抽象类与接口
  • 14.5 基于LangChain重构Auto-GPT:新一代自主智能体架构设计实践
  • Deepseek存算分离安全部署手册
  • Baklib革新数字化内容管理流程安全策略
  • Git常见命令--助力开发
  • 论文绘图工具
  • 【多模态处理篇八】【DeepSeek增强现实:AR导航实时推理优化】
  • Vue 不同大版本与 Node.js 版本匹配的详细参数
  • 蓝桥杯真题 - 缴纳过路费 - 题解
  • 【Agent的革命之路——LangGraph】工作流中的 Command 模式
  • 【C语言】(一)数据在计算机中的存储与表示
  • 解决Excel文件格式损坏问题:如何通过程序读取并复制内容
  • 一周人物|何子彦任职光州双年展,陈意心讲述五原路往事
  • 观察|“离境退税”撬动上海“五一”假期入境消费
  • 特朗普关税风暴中的“稳”与“变”:新加坡国会选举观察
  • 巴菲特掌舵伯克希尔60年后将卸任CEO,库克:认识他是人生中最珍贵的经历之一
  • 旧宫新语|瑞琦:再探《古玩图》——清宫艺术品的前世与今生
  • 香港金紫荆广场举行五四升旗礼