jquery - 使用 aria-selected=true 识别选项卡并在 jquery 中更改选项卡背景颜色
问题描述
我们有一个词汇表页面,可让您从具有不同词汇表术语的一百多个不同选项卡中进行选择,并且定义将根据您选择的选项卡出现在定义 div 标记中。这一切都很好,但选项卡本身没有标识符让您知道您所在的术语。我想做的是让选项卡的背景颜色改变当前显示的定义术语的颜色。
在下面的示例中,我能想到的使<li>
标签的背景颜色改变颜色的唯一方法是通过aria-selected="true"
标签。在 jquery 中浏览所有选项卡并查找aria-selected="true"
然后将“活动”添加到<li>
该选项卡以更改该选项卡的背景颜色的最佳方法是什么?然后如果它aria-selected="false"
显然是 removeClass “活动”。
是的,页面上可能有多个aria-selected="true"
,因为有不同的组,每个组都有自己的 div 显示窗口,由 id 标签分隔。
<ul>
<li class="tab-item tab_id_01a active" role="none"><a href="#id_01a" id="label_id_01a" class="tab-link" role="menuitem" aria-selected="true">Tab Link 1</a></li>
<li class="tab-item tab_id_02a" role="none"><a href="#id_02a" id="label_id_02a" class="tab-link" role="menuitem" aria-selected="false">Tab Link 2</a></li>
<li class="tab-item tab_id_03a" role="none"><a href="#id_03a" id="label_id_03a" class="tab-link" role="menuitem" aria-selected="false">Tab Link 3</a></li>
<li etc.
</ul>
提前感谢您的任何帮助。
解决方案
尝试
$("ul li a").each(function () {
if ($(this).attr("aria-selected") === "true") {
$(this).parent().addClass('active')
} else {
$(this).parent().removeClass('active')
}
});
推荐阅读
- python - 尝试将基本 DataFrame 呈现为 Seaborn 线性图
- c# - 编辑器在 Unity 2019 中使用 Instantiate() 冻结
- vb.net - 如何将数据从一个表复制到另一个表?
- reactjs - Reactfire - 入门
- node.js - MongoDB使用包含元素的数组更改流?
- python - 烧瓶模板未加载
- django - 获取数据库详细信息值和相关值列表
- neo4j - 首选通过直接连接而不是较长路径的节点
- regex - 如何使用 Groovy 删除仅包含数字的 xml 标记
- python - 如何使用 urllib.request 获取文件的 url 列表?