javascript (table选中的行以指定颜色高亮显示)

本文介绍了一种使用JavaScript实现的表格行点击高亮显示的方法。通过为表格的每一行添加点击事件,当用户点击任意一行时,该行将以黄色背景高亮显示,而其他行则保持白色背景。这种方法适用于简单的网页应用中对表格数据进行直观反馈。
<html xmlns=" http://www.w3.org/1999/xhtml">
<head>
    <title>table选中的行以指定颜色高亮显示</title>
    <script type="text/javascript">
        function IniEvent() {
            var tbl = document.getElementById("tblMain");
            var trs = tbl.getElementsByTagName("tr");
            for (var i = 0; i < trs.length; i++) {
                trs[i].onclick = TrOnClick;
            }
        }
        function TrOnClick() {
            var tbl = document.getElementById("tblMain");
            var trs = tbl.getElementsByTagName("tr");
            for (var i = 0; i < trs.length; i++) {
                if (trs[i] == this) {             //判断是不是当前选择的行
                    trs[i].style.background = "yellow";
                }
                else {
                    trs[i].style.background = "white";
                }
            }
        }
    </script>
</head>
<body onload="IniEvent()">
    <table id="tblMain" border="1">
        <tr>
            <td>1</td>
            <td>三星</td>
            <td>AA</td>
        </tr>
        <tr>
            <td>2</td>
            <td>Norkia</td>
            <td>BB</td>
        </tr>
        <tr>
            <td>3</td>
            <td>苹果</td>
            <td>CC</td>
        </tr>
        <tr>
            <td>4</td>
            <td>联想</td>
            <td>DD</td>
        </tr>
    </table>
</body>
</html>
### 实现高亮指定 为了实现在 `el-table` 组件中高亮显示指定,可以利用 `highlight-current-row` 属性来开启单高亮功能。当此属性被设置为 true 时,表格将会自动高亮当前选中的那一[^1]。 ```html <template> <div> <el-table :data="tableData" highlight-current-row @current-change="handleCurrentChange"> <!-- 表格列定义 --> <el-table-column prop="date" label="日期"></el-table-column> <el-table-column prop="name" label="姓名"></el-table-column> <el-table-column prop="address" label="地址"></el-table-column> </el-table> </div> </template> <script> export default { data() { return { tableData: [ { date: '2016-05-03', name: 'Tom', address: 'No. 189, Grove St, Los Angeles' }, { date: '2016-05-02', name: 'John', address: 'New York No. 1 Lake Park' } ] }; }, methods: { handleCurrentChange(currentRow) { console.log('当前选中:', currentRow); } } }; </script> ``` 上述代码展示了如何创建一个带有高亮特性的简单表格,并监听到用户点击某一触发的事件处理函数 `handleCurrentChange` 来获取当前选中数据[^3]。 对于想要手动控制哪一应该被高亮的情况,则可以通过编程方式调用实例方法 `setCurrentRow(row)` 来改变当前高亮的。 如果希望取消所有的排序样式(包括默认升序/降序),则需要将对应列配置项里的 `order` 字段设为空字符串或 null 值以移除其上的任何排序标志[^2]。 ### 处理多选情况下的列高亮 需要注意的是,以上提到的方法适用于单一选择模式下的一高亮;而对于支持多选 (`selection`) 的场景来说,默认情况下并不会提供类似的内置机制去单独标记某些特定列的状态变化。因此,在这种情形里可能就需要自定义 CSS 类名配合 JavaScript 动态添加类的方式来达到视觉上突出显示的目的了。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值