1 回答
TA贡献1877条经验 获得超1个赞
是的,除非您已经有了需要查找的属性名称列表,否则无法使用查询字符串来过滤您想要的属性名称。您必须以编程方式执行此操作,方法是检查元素的任何属性是否以 开头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>
添加回答
举报