我可以使用什么通配符来选择页面上具有此 selectId 的所有内容? aria-describedby="gridx_Grid_13-9"
SelectorId 是动态创建的。 13
每次加载页面时,selectorId 的一部分都会不同。
这是我尝试过的:var lineAmounts = document.querySelectorAll('[aria-describedby="gridx_Grid_" + * + "-9"]');
那是行不通的。
最佳答案
您可以使用多个 attribute selectors 的组合.
如果要选择属性 aria-scribedby
以某个字符串开头的所有元素,您可以首先使用 ^=
运算符选择它。与 $=
运算符结合使用,您可以进一步限制选择并定义属性结尾的外观。
const prefix = 'gridx_Grid_';
const suffix = '-9';
const collection = document.querySelectorAll(
`[aria-describedby^="${ prefix }"][aria-describedby$="${ suffix }"]`
);
collection.forEach( element => console.log( element.innerText ) );
<div aria-describedby="gridx_Grid_13-9">Text 1</div>
<div aria-describedby="gridx_Grid_10-10">Text 2</div>
<div aria-describedby="gridx_Grid_11-9">Text 3</div>
关于带通配符的 Javascript 选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53197181/