table中点击一行tr,使其高亮

本文介绍了一种使用HTML、CSS和JavaScript实现表格行高亮显示的方法。通过为表格行添加点击事件,当用户点击任意一行时,该行将被高亮显示,同时取消其他行的高亮状态。此功能增强了用户界面的互动性和视觉效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

html文件:

<div class="cuttingDiv">
	<table>
		<thead>
		<tr>
			<td width="40px" align="center">序号</td>
			<td width="90px" align="center">位置</td>
			<td width="130px" align="center">编码</td>
			<td width="130px" align="center">安全码</td>
			<td width="70px" align="center">时间</td>
		</tr>
		</thead>
		<tbody class="cuttingTbody"></tbody>
	</table>
</div>

js文件:

/**
 * 刀具表格高亮部分
 */
function tableHighLight() {
    // 获取tr
    let trs = $(".cuttingTbody").find("tr");
    // 循环遍历
    for (let index = 0; index < trs.length; index++){
        // 设置点击事件
        trs[index].onclick = function () {
            for (let i = 0; i < trs.length; i++){
                trs[i].className = "";
            }
            this.className = "hover";
        }
    }
}

css文件:

/** 刀具列表tbody */
.cuttingTbody{font-size: 14px;color: #46bcc1;position: absolute;top: 35px}
/** 刀具列表高亮 */
.hover{background-color: #016165;cursor:pointer;}
/** 表格td 鼠标样式 */
tbody td{cursor:pointer;}

效果如图:
在这里插入图片描述

### 使用Element UI的`el-table`组件设置指定行高亮 为了实现在`el-table`中点击一行使其高亮的效果,可以利用Vue的数据绑定特性来动态控制每一行的类名。具体来说,在表格配置项中定义一个方法用于返回当前行是否应该应用特定的CSS类[^2]。 #### 定义数据模型 首先,在Vue实例内声明两个变量:一个是用来存储选中行的信息;另一个作为判断依据决定哪一行应当被标记为已选状态。 ```javascript data() { return { selectedRow: null, // other data properties... }; } ``` #### 自定义row-class-name属性 接着通过自定义`rowClassName`函数来实现基于条件逻辑向目标行添加额外样式: ```html <template> <div> <el-table :data="tableData" @row-click="handleRowClick" :row-class-name="tableRowClassName"> <!-- column definitions --> </el-table> </div> </template> <script> export default { methods: { handleRowClick(row) { this.selectedRow = row; }, tableRowClassName({ row }) { if (this.selectedRow === row) { return 'highlight'; } return ''; } } }; </script> ``` 上述代码片段展示了如何监听行点击事件(`@row-click`)并将所选项保存至`selectedRow`变量中。每当用户单击任意一行时都会触发此操作更新视图上的高亮显示。 #### 添加样式规则 最后一步是在全局或局部范围内引入新的`.highlight` CSS 类型以改变视觉表现形式: ```css <style scoped> .highlight { background-color: #f0f9eb !important; /* 可根据需求调整 */ } /* 如果还需要取消默认hover效果可参照如下做法 */ :deep(.el-table__body tr:hover>td){ background-color: inherit!important; } </style> ``` 这里设置了当某一行处于激活状态下其背景色会发生变化,并且禁用了原有的悬浮提示框颜色覆盖行为以便更好地突出选定区域[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值