隔行换色总结
第一种思路使用数组将数组的内容渲染到页面上序号也就是将数组的下标输出到第一个td上将数组的内容输出到第二个td上使用拼接字符串具体操作1.HTML 结构搭建​首先让我们来看一下 HTML 代码。我们创建了一个基本的表格结构table标签定义了整个表格cellspacing0属性用于消除表格单元格之间的间距。​thead标签内包含了表格的头部信息这里有一行tr其中三个th标签分别定义了 “序号”“内容”“操作” 三个表头。​tbody标签则是表格主体内容的容器初始时我们预留了它作为动态生成表格行的区域注释掉了一个示例的tr行这行只是为了展示结构实际运行时将由 JavaScript 动态生成。​最后还有一个button按钮其类名为add并绑定了一个点击事件οnclickaddData()用于触发添加数据行的操作。htmltable cellspacing0theadtrth序号/thth内容/thth操作/th/tr/theadtbody!-- trtd1/tdtddata/tdtdbutton classdel删除/button/td/tr --/tbody/tablebutton classadd onclickaddData()添加行/buttonAI写代码htmlcss2.CSS 样式美化​为了让表格看起来更加美观和易于阅读我们添加了一些 CSS 样式。​*选择器用于清除所有元素的默认内外边距确保表格布局的一致性。​table选择器虽然目前只注释掉了设置边框的代码但为后续可能的整体表格样式调整预留了空间。​th选择器为表头单元格设置了内边距和较粗的边框使其更加醒目。​td选择器为普通单元格设置了适当的内边距和较细的边框区分表头与内容单元格的视觉效果。style* {margin: 0;padding: 0;}table {/* border: black 2px solid; */}th {padding: 5px 20px 5px 20px;border: 2px solid black;}td {padding: 5px 20px 5px 20px;border: 1px solid black;}/styleAI写代码cssjs3.JavaScript 功能实现​初始化变量​我们定义了一个数组arr并初始化为[100]这个数组将用于存储表格中的数据。​获取页面中的tbody元素并赋值给变量body后续将通过它来操作表格主体内容。​获取类名为add的按钮元素并赋值给变量add​表格渲染函数apply​apply函数负责将数组中的数据渲染到表格中。它首先初始化一个空字符串str用于存储生成的 HTML 代码片段。​通过for循环遍历数组arr在每次循环中使用模板字符串生成一个tr行的 HTML 代码。这里利用三元运算符${i%2!0?stylebackground-color: aqua;:}根据i的奇偶性为tr行设置不同的背景颜色奇数行背景色为aqua偶数行保持默认。​然后将当前行的序号i 1、数组中的数据arr[i]以及一个带有删除功能的button按钮点击时调用delData(${i})函数分别插入到对应的td元素中。​循环结束后将生成的完整 HTML 字符串str赋值给body.innerHTML从而实现表格的渲染。​添加数据函数addData​addData函数用于实现添加数据行的功能。它首先将变量num的值增加 100这里的num用于生成新的数据值。​然后将新生成的num值通过arr.push(num)方法添加到数组arr中并在控制台打印数组arr方便查看数据更新情况。​最后调用apply函数重新渲染表格使新添加的数据能够及时显示在页面上。​删除数据函数delData​delData函数接收一个参数index该参数表示要删除的数据在数组中的索引。​它通过arr.splice(index, 1)方法从数组arr中移除指定索引位置的数据。​同样调用apply函数重新渲染表格实现删除数据行后页面的实时更新。let arr [100];let body document.getElementsByTagName(tbody)[0];let add document.getElementsByClassName(add)[0];console.log(add);function apply() {let str ;for (i 0; i arr.length; i) {str tr ${i%2!0?stylebackground-color: aqua;:}td${i1}/tdtd${arr[i]}/tdtdbutton classdel onclickdelData(${i})删除/button/td/tr;}body.innerHTML str;}apply();let num 100;// 添加函数function addData() {num 100;console.log(num);arr.push(num);console.log(arr);apply();}// 删除function delData(index){arr.splice(index,1);apply();}AI写代码css以上是第一种思路第二种思路中html和css是一致的所以我们就只讲js中的具体操作。dataNum初始值为 100用于为新添加的行提供数据。// 添加函数function addData() {let tr document.createElement(tr);let tdNum document.createElement(td);let tdData document.createElement(td);let tdDel document.createElement(td);// let num document.createTextNode();let data document.createTextNode(dataNum);let delText document.createTextNode(删除);let del document.createElement(button);del.appendChild(delText);tdDel.appendChild(del);// tdNum.appendChild(num);tdData.appendChild(data);tr.appendChild(tdNum);tr.appendChild(tdData);tr.appendChild(tdDel);console.log(tr);body.appendChild(tr);dataNum 100;rowColor();numOrder();}// 序号函数function numOrder() {let trNum body.children;console.log(trNum);for (i 0; i trNum.length; i) {console.log(i);trNum[i].children[0].innerHTML i1;}rowColor();}// 颜色函数function rowColor() {let trNum body.children;for (i 0; i trNum.length; i) {if (i % 2 ! 0) {console.log(document.getElementsByTagName(tr)[i]);document.getElementsByTagName(tr)[i1].style.backgroundColor red;}else{document.getElementsByTagName(tr)[i1].style.backgroundColor white;}}}// 删除函数body.addEventListener(click, function(e) {console.log(e.target.innerText);if (e.target.innerText 删除) {body.removeChild(e.target.parentElement.parentElement);}rowColor();numOrder();})AI写代码javascript运行添加函数 addData创建一个新的表格行 tr 以及三个单元格 tdNum、tdData 和 tdDel。创建文本节点 data 和 delText分别表示数据和 “删除” 按钮的文本。创建 “删除” 按钮 del并将 delText 添加到按钮中。将 data 添加到 tdData 中将 del 添加到 tdDel 中。将三个单元格添加到 tr 中并将 tr 添加到表体 body 中。dataNum 增加 100以便下次添加行时使用新的数据。调用 rowColor 和 numOrder 函数更新表格的颜色和序号。序号函数 numOrder获取表体中的所有行 trNum。遍历这些行为每行的第一个单元格设置序号序号从 1 开始。调用 rowColor 函数更新表格的颜色。颜色函数 rowColor获取表体中的所有行 trNum。遍历这些行根据行的索引奇偶性设置不同的背景颜色奇数行为红色偶数行为白色。删除函数为表体添加点击事件监听器。当点击的元素文本为 “删除” 时删除对应的行。调用 rowColor 和 numOrder 函数更新表格的颜色和序号。————————————————版权声明本文为CSDN博主「好青崧」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。原文链接https://blog.csdn.net/jht_520/article/details/147074146

相关新闻

技术人如何通过具体创造实现项目后心理修复:以德国自制刺身为例

技术人如何通过具体创造实现项目后心理修复:以德国自制刺身为例

上周五下午,我按下了硕士毕业论文的提交按钮。那一刻,屏幕上的确认弹窗并没有带来想象中的狂喜或彻底放松,反而是一种奇特的平静,混杂着一丝“这就结束了?”的恍惚。紧接着,一个更具体、更迫切的念头冒了出…

2026/10/18 9:05:28 阅读更多 →
终极指南:3步掌握NightX-Client Minecraft修改客户端

终极指南:3步掌握NightX-Client Minecraft修改客户端

终极指南:3步掌握NightX-Client Minecraft修改客户端 【免费下载链接】NightX-Client Minecraft Forge 1.8.9 hacked client, Based on LiquidBounce 项目地址: https://gitcode.com/gh_mirrors/ni/NightX-Client NightX-Client是基于Minecraft Forge 1.8.9开…

2026/10/18 9:05:35 阅读更多 →
终极Mac微信防撤回插件:3分钟安装,永久保留聊天记录

终极Mac微信防撤回插件:3分钟安装,永久保留聊天记录

终极Mac微信防撤回插件:3分钟安装,永久保留聊天记录 【免费下载链接】WeChatIntercept 微信防撤回插件,一键安装,MAC可用,支持最新v4.1.10微信 项目地址: https://gitcode.com/gh_mirrors/we/WeChatIntercept 你…

2026/10/18 9:06:35 阅读更多 →

最新新闻

HTTP/3与QUIC深度解析:从队头阻塞到部署实战

HTTP/3与QUIC深度解析:从队头阻塞到部署实战

浏览器原理这个系列写到现在,HTTP/3是我最想写又最不敢写的一篇。说不敢,是因为HTTP/3表面看只是HTTP协议的第三个大版本,内核里却把传输层的底座整个换了——它不像HTTP/1.1到HTTP/2那样只在应用层做文章,而是直接把协议栈从TCP搬…

2026/10/19 4:09:35 阅读更多 →
开放式代码审查实战:从流程搭建到协作效率提升

开放式代码审查实战:从流程搭建到协作效率提升

我接手过好几个中型仓库,里面有大量“高危但能跑到上线”的代码:吞掉的异常、裸奔的权限校验、藏在注释里的临时逻辑。很多都能在上线前被拦下来,前提是有人在Review时真的盯住了。这也是我为什么想写这篇关于open-code-review文章的原因。这…

2026/10/19 4:09:35 阅读更多 →
开源代码评审工具 open-code-review:把 Code Review 变成可量化的工程习惯

开源代码评审工具 open-code-review:把 Code Review 变成可量化的工程习惯

提到 code review,不少团队的回答都是“我们在做”,但真去翻一遍仓库的合并记录,会发现大量 PR 都是一个人开发、另一个人在合并前点了通过。评审更像走流程,而不是讨论问题。我维护了一个叫 open-code-review 的开源项目&#xf…

2026/10/19 4:09:35 阅读更多 →
STM32F103ZET6循迹小车竞速方案:灰度传感器与PID控制实战

STM32F103ZET6循迹小车竞速方案:灰度传感器与PID控制实战

简介:面向智能车竞速与STM32嵌入式学习的循迹小车完整工程,以72MHz主频的STM32F103ZET6作为核心控制器,机械结构采用舵机加双编码电机,通过一字排列的灰度传感器阵列识别黑线,从而检测车身在直道、环岛、S弯和连续直角…

2026/10/19 4:09:35 阅读更多 →
开放式代码评审的完整实践指南:从机制到落地

开放式代码评审的完整实践指南:从机制到落地

代码评审这件事,我干了快十年,到现在还是会劝刚带团队的朋友一句:先把评审机制立起来,再谈什么敏捷流程、DevOps 文化。open-code-review 这个名字,听起来像某个开源库,本质上却代表了我这些年一直在推的做…

2026/10/19 4:09:35 阅读更多 →
LSTM原理详解与工程加速:从梯度消失到推理优化

LSTM原理详解与工程加速:从梯度消失到推理优化

最近在某个工业设备的时序预测项目里,我把LSTM重新捡起来用了一遍。说实话,这两年Transformer在序列任务上的声量确实大,很多新入行的同学一上来就研究注意力机制,反而把LSTM这个经典的循环结构给忽略了。但手头这个项目跑下来&am…

2026/10/19 4:08:35 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →