javascript - 如何根据 url 突出显示特定的表格行
问题描述
好吧,假设我有一个包含名字和姓氏的表格,我想根据 url 突出显示整行,例如,如果我有example.com/test#namex
它会突出显示表格的整行
我尝试使用从这里找到的 css 来做到这一点
a:target {
transition: background-color 1s ease-in;
-webkit-transition: background-color 1s ease-in;
-moz-transition: background-color 1s ease-in;
background-color: yellow;
}
<table>
<tr id="namex">
<td>namex</td>
<td>namex2</td>
</tr>
<tr id="namey">
<td>namey</td>
<td>namey2</td>
</tr>
</table>
解决方案
在 CSS 中,您只需要 :target (如果您只想突出显示表格行而不是其他带有 ID 的内容,则为 tr:target)
:target {
transition: background-color 1s ease-in;
-webkit-transition: background-color 1s ease-in;
-moz-transition: background-color 1s ease-in;
background-color: yellow;
}
如果你愿意,你也可以使用 JavaScript 来做
假设 ID 与哈希匹配,将其添加到页面头部
<script>
var srch = window.location.search;
document.querySelector(srch).style.background = "yellow";
</script>
工作示例在这里 - 注意我必须var srch = "#namex";
在示例中设置,因为 StackOverflow 将有另一个哈希值
var srch = "#namex"; // change to window.location.search;
document.querySelector(srch).style.background = "yellow";
<table>
<tr id="namex">
<td>namex</td>
<td>namex2</td>
</tr>
<tr id="namey">
<td>namey</td>
<td>namey2</td>
</tr>
</table>
或这个
var srch = "#namex"; // change to window.location.search;
document.querySelector(srch).classList.add("highlight")
.highlight {
transition: background-color 1s ease-in;
-webkit-transition: background-color 1s ease-in;
-moz-transition: background-color 1s ease-in;
background-color: yellow;
}
<table>
<tr id="namex">
<td>namex</td>
<td>namex2</td>
</tr>
<tr id="namey">
<td>namey</td>
<td>namey2</td>
</tr>
</table>
推荐阅读
- dart - 从其他子组件的子集状态
- c++ - 在 Rcpp 中有效地生成随机比特流
- laravel - 如何从数据库 laravel 中的 created_at 或 updated_at 字段在刀片视图中显示 unix 时间戳?
- sql - 根据表关系计算MinDate和MaxDate
- java - 不从发布版本下载罐子
- c - Jansson c 解析器库中缺少库“jansson_private_config.h”
- html - 如何在角度 7 中将值从一页传递到另一页
- sql - Oracle sql从带有限制的子句插入多个表
- shell - 从 ifconfig 中提取 IP 地址和接口名称
- elasticsearch - Elastic Search 高级客户端 - 如何使用发布请求进行搜索?