应通过添加/移除CSS类控制表格行选中状态,避免直接操作style;为tbody tr绑定点击事件,先清除所有.selected再为当前行添加;动态表格需用事件委托;多选需检测ctrlKey并使用toggleClass。

点击行时用 JavaScript 绑定 onclick 切换 class
直接操作 tr 元素的 style.backgroundColor 容易覆盖原有样式,也难复原;更稳妥的方式是通过添加/移除 CSS class 控制背景色。需要确保每行都有独立事件监听,且点击后能清除其他行的选中状态。
- 给表格加
id="myTable",方便用document.getElementById获取 - 在
tr上绑定onclick,触发时遍历所有tr,先清空selectedclass,再给当前行加上 - 注意:表头
thead tr通常不应响应点击,可用tbody tr精确选择
CSS 中定义 .selected 类并设置背景色
不要用内联 style 写死颜色,否则难以统一维护或适配主题。用 class 方式可复用、可动画、可配合 :hover 逻辑共存。
-
.selected的优先级要高于默认tr样式,必要时加!important(但更推荐用更具体的选择器,如tbody tr.selected) - 若表格有隔行变色(
tr:nth-child(even)),.selected必须写在它后面,否则会被覆盖 - 避免用
background简写覆盖掉background-image或background-repeat,只写background-color
兼容旧浏览器时别依赖 event.currentTarget
IE8 及更早版本不支持 event.currentTarget,且 this 在内联 onclick 中指向 window。必须用传参方式把当前行元素明确传入函数。
把任意文章或文档内容转换成精美的全屏翻页 HTML 演示文件(幻灯片风格)。当用户发来一篇文章、文档链接、Markdown 内容、或粘贴的文本,并且希望生成演示用的 HTML 时触发。支持任意内容来源:iWiki 链接、KM 链接、本地文件路径、直接粘贴的文本。生成的 HTML 文件保存到本地工作区,并通过企微直接发送给用户。触发词示例:帮我把这篇文章做成PPT、转成演示文档、生成HTML幻灯片、做个演示、转成可以演示的格式、article to deck、make a slide。
- HTML 中写:
- JS 函数定义为:
function selectRow(row) { ... },直接操作row参数- 不要写成
onclick="selectRow()"再试图在函数里取event.target—— 跨浏览器获取目标元素太不可靠如果用了 jQuery,
$(this)是最简方案jQuery 自动处理了事件上下文和浏览器差异,
$(this)始终指向被点击的tr,无需手动传参或判断event。- 代码只需三行:
$("tbody tr").click(function(){ $("tbody tr").removeClass("selected"); $(this).addClass("selected"); }); - 注意:必须等 DOM 加载完再执行,放在
$(document).ready()里,或脚本置于
- JS 函数定义为:
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










