使用正则表达式

时间:2019-01-03 01:45:15

标签: javascript regex css-selectors

我试图通过使用document.querySelector和regex查找具有属性例如href ='/ post / 3534'的锚dom元素。

类似,

document.querySelector("a[href='/post/(/[0-9]+/g)']")

但是它显然不起作用。

我的正确语法是什么? 感谢您的帮助。

1 个答案:

答案 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>