我在这个上花了好几个小时。
我的公司被迫使用非用户友好的第三方网站。我们只使用IE11。我的工作是使用javascript和jquery来自定义屏幕,让我们的用户更容易一些。我使用bookmarklet将<script>
标签插入IE并引用本地保存的.js文件。
这个网站使用了数百个输入文本字段,但我们只需要少数几个。所以,我想突出显示屏幕上的输入文本字段。 有些字段有ID,有些只有Name。在大多数情况下,这有效:
$(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
问题是,这个第三方应用程序以奇怪的方式更改了ID和名称。有一天,名称将为's_3_1_19_0',下一个名称为's_3_2_48_0'。所以突出显示使用这种方法并不稳定。
但是,这些字段的区域标签保持不变。我想知道如何使用javascript或jquery迭代每个文本框,寻找特定的咏叹调标签。例如,“有效”字段有一个奇怪的名称,它一直在变化,但它的咏叹调标签总是“有效”。
有人可以帮我解决这个问题吗?
答案 0 :(得分:3)
您可以使用aria-label&#34; Valid To&#34;找到输入。通过搜索
$(document).find('input').attr('aria-label', 'Valid To');
我建议比$(document)
更具体一点。这会搜索整个文档。
答案 1 :(得分:0)
您可以使用jquery获取所有aria-label属性的列表,并使用switch case来执行您需要的操作。像这样的东西
switch ($(this).attr('aria-label')) {
case 'label1': {
//do something
break;
}
}