javascript 遍历 dom 寻找特定的 aria-label
javascript iterate through dom looking for specific aria-label
我在这上面花了好几个小时。
我的公司被迫使用非用户友好的第 3 方网站。我们只使用IE11。我的工作是使用 javascript 和 jquery 来自定义屏幕,让我们的用户更轻松一些。我使用小书签将 <script>
标签插入 IE 并引用本地保存的 .js 文件。
本网站使用了数百个输入文本字段,但我们只需要其中的一小部分。所以,我想在屏幕上突出显示输入文本字段。
有些字段有 ID,有些只有名称。在大多数情况下,这有效:
$(document.getElementById('s_3_1_18_0').toggleClass("highlightField");
$(document.getElementsByName('s_3_1_19_0')[0]).toggleClass("highlightField");
HighlightField 只是添加 CSS background-color: yellow !important
问题是,这个第 3 方应用程序以奇怪的方式更改了 ID 和名称。有一天,这个名字将是 's_3_1_19_0',下一天将是 's_3_2_48_0'。所以用这个方法高亮不稳定
但是,这些字段有一个保持不变的区域标签。我想知道如何使用 javascript 或 jquery 遍历每个文本框,寻找特定的 aria-label。例如,"valid to" 字段有一个奇怪的名称,它一直在变化,但它的 aria-label 始终是 "Valid To".
谁能帮我解决这个问题?
您可以通过搜索
找到带有 aria-label "Valid To" 的输入
$(document).find('input').attr('aria-label', 'Valid To');
不过,我建议比 $(document)
更具体一些。搜索整个文档。
您可以使用 jquery 获取所有 aria-label 属性的列表,并使用 switch case 来执行您需要的操作。像这样的东西
switch ($(this).attr('aria-label')) {
case 'label1': {
//do something
break;
}
}
我在这上面花了好几个小时。
我的公司被迫使用非用户友好的第 3 方网站。我们只使用IE11。我的工作是使用 javascript 和 jquery 来自定义屏幕,让我们的用户更轻松一些。我使用小书签将 <script>
标签插入 IE 并引用本地保存的 .js 文件。
本网站使用了数百个输入文本字段,但我们只需要其中的一小部分。所以,我想在屏幕上突出显示输入文本字段。 有些字段有 ID,有些只有名称。在大多数情况下,这有效:
$(document.getElementById('s_3_1_18_0').toggleClass("highlightField");
$(document.getElementsByName('s_3_1_19_0')[0]).toggleClass("highlightField");
HighlightField 只是添加 CSS background-color: yellow !important
问题是,这个第 3 方应用程序以奇怪的方式更改了 ID 和名称。有一天,这个名字将是 's_3_1_19_0',下一天将是 's_3_2_48_0'。所以用这个方法高亮不稳定
但是,这些字段有一个保持不变的区域标签。我想知道如何使用 javascript 或 jquery 遍历每个文本框,寻找特定的 aria-label。例如,"valid to" 字段有一个奇怪的名称,它一直在变化,但它的 aria-label 始终是 "Valid To".
谁能帮我解决这个问题?
您可以通过搜索
找到带有 aria-label "Valid To" 的输入$(document).find('input').attr('aria-label', 'Valid To');
不过,我建议比 $(document)
更具体一些。搜索整个文档。
您可以使用 jquery 获取所有 aria-label 属性的列表,并使用 switch case 来执行您需要的操作。像这样的东西
switch ($(this).attr('aria-label')) {
case 'label1': {
//do something
break;
}
}