文档querySelectorAll查找元素的属性名称的一部分?

A.米舒

我尝试选择具有ARIA属性的页面上的所有元素,以便检查页面中对它们的不正确使用。众所周知,该属性以aria- [NAME]开头。

由于我不能将正则表达式与元素选择器一起使用,而css选择器没有给我提供通配符选择属性名称的选项(或者是?),我不知道该怎么做?

简单测试页:

<div id="percent-loaded" role="progressbar" aria-valuenow="75" aria-valuemin="0" aria-valuemax="100" ></div>
<div class="text">
  <label id="tp1-label" for="first">First Name:</label>
  <input type="text" id="first" name="first" size="20" aria-labelledby="tp1-label" aria-describedby="tp1" aria-required="false" />
  <div id="tp1" class="tooltip" role="tooltip" aria-hidden="true">Your first name is optional</div>
</div>

<script>
let elAria1 = document.querySelectorAll('[aria-*]'); // this doesn't work
let elAria2 = document.querySelectorAll('[aria-'*]); // this doesn't work either
let elAria3 = document.querySelectorAll([aria-*]); // this doesn't work too
</script>
一定的表现

是的,除非您已经有了需要查找的属性名称的列表,否则无法使用查询字符串来过滤所需属性。您必须通过检查元素的任何属性是否以开头来以编程方式进行更多操作aria

const ariaElements = [...document.querySelectorAll('*')]
  .filter(elm => [...elm.attributes].some(
    ({ name }) => name.startsWith('aria-')
  ));
console.log(ariaElements);
<div id="percent-loaded" role="progressbar" aria-valuenow="75" aria-valuemin="0" aria-valuemax="100" ></div>
<div class="text">
  <label id="tp1-label" for="first">First Name:</label>
  <input type="text" id="first" name="first" size="20" aria-labelledby="tp1-label" aria-describedby="tp1" aria-required="false" />
  <div id="tp1" class="tooltip" role="tooltip" aria-hidden="true">Your first name is optional</div>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用python在硒中按ID名称的一部分查找元素

使用ID的一部分查找元素

通过ID和分割属性值的一部分抓取查找元素

通过href属性的一部分查找元素

Python-根据名称的一部分查找文件夹的名称

Python:如何在列表中找到与元素名称的一部分匹配的元素

如何在目录中查找知道名称一部分的文件

查找工作表名称的一部分

仅检索文档的一部分

使用Javascript按名称获取包含字符串一部分的元素

jQuery,克隆元素并替换其名称的一部分

mgo,mongodb:查找一个嵌入式文档,该文档是数组的一部分

属性“名称”是对象键信息的一部分,无法修改。实体框架

是否可以使用 xpath 将 $ 作为属性名称的一部分

删除名称列表的一部分

排序名称的一部分

PowerShell:删除显示名称的一部分

如何使用 JS 将 JS var 作为元素属性的一部分

ElasticSearch:在数组中进行全文搜索,而忽略文档,其中所查找的文本是数组元素的一部分

Python提取json元素的一部分

如何删除元素的一部分?

如何保证属性是接口的一部分?

如何在TFS中按名称或名称或扩展名的一部分查找文件

查找仅知道href属性一部分的元素的xpath硒ide ui视觉katalon记录器

通过CSS attr()获取属性的第一部分/最后一部分

具有位置:相对的元素不应该成为常规文档流的一部分吗?

VS2013:查找资源字典时发生错误/类型不是名称空间的一部分

需要正则表达式来查找输入名称javascript的最后一部分

在结构化数组中查找标头名称一部分的标头索引