javascript迭代通过dom寻找特定的咏叹调标签

时间:2015-03-17 17:27:37

标签: javascript jquery attributes

我在这个上花了好几个小时。

我的公司被迫使用非用户友好的第三方网站。我们只使用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迭代每个文本框,寻找特定的咏叹调标签。例如,“有效”字段有一个奇怪的名称,它一直在变化,但它的咏叹调标签总是“有效”。

有人可以帮我解决这个问题吗?

2 个答案:

答案 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; } }