我试图通过使用document.querySelector和regex查找具有属性例如href ='/ post / 3534'的锚dom元素。
类似,
document.querySelector("a[href='/post/(/[0-9]+/g)']")
但是它显然不起作用。
我的正确语法是什么? 感谢您的帮助。
答案 0 :(得分:3)
选择器不接受正则表达式-最好能做的是querySelectorAll
个<a>
,然后.find
个匹配href
的表达式您的情况:
const foundA = Array.prototype.find.call(
document.querySelectorAll('a[href^="/post/"]'),
a => /^\/post\/[0-9]+/.test(a.getAttribute('href'))
);
if (foundA) {
console.log(foundA.getAttribute('href'));
}
<a href="foobar">foobar</a>
<a href="/post/words">words</a>
<a href="/post/1234">numbers</a>