queryselectorAll()与正则表达式属性选择器

时间:2015-11-14 22:09:40

标签: javascript

var arr = [].slice.call(document.querySelectorAll("a[href*='pricing']"));

返回长度为6的数组。

var arr = [].slice.call(document.querySelectorAll("a[href*='tarification']"));

还生成一个长度为6的数组。

上下文是一个包含英文或法文页面的网站。两个版本中的任何一个或arr将在给定页面上返回6个结果,而另一个将生成一个空数组。

我想动态地说明这一点。因此,无论用户是在法语页面还是英语页面,我都知道其中一个版本将返回6个元素。我可以写一个if()语句。但是有更整洁,更短的方式吗?我尝试了以下方法:

var arr = [].slice.call(document.querySelectorAll("a[href*='(tarification|pricing)']"));

但那也返回了一个空数组。

1 个答案:

答案 0 :(得分:10)

这是关于css选择器,而不是正则表达式:

JFrame

以下选择var arr = [].slice.call(document.querySelectorAll("a[href*='tarification'], a[href*='pricing']")); 定价目标的所有链接:

href