- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在这上面花了好几个小时。
我的公司被迫使用非用户友好的第 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 标签“Valid To”的输入
$(document).find('input').attr('aria-label', 'Valid To');
不过,我建议比 $(document)
更具体一些。搜索整个文档。
关于javascript 遍历 dom 寻找特定的 aria-label,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29105791/
我是一名优秀的程序员,十分优秀!