我希望扫描一个页面并查找具有包含单词price
的类或ID的任何html元素。我的想法是在这里使用正则表达式,但我无法正确启动它。
我在OS X上使用Safari和Chrome
var price = $("div:regex(\bprice\b)").text();
目的是在电子商务网站上获取产品的价格,如果尚未在已经处理的Open Graph中说明。
答案 0 :(得分:3)
"\b"
与"\x08"
相同。
逃脱\
:
var price = $("div:regex(\\bprice\\b)").text();
答案 1 :(得分:2)
一种简单的方法是使用包含单词选择器:
$('div[id~="price"], div[class~="price"]')
答案 2 :(得分:0)
您可以通过添加新的伪选择器来实现:
jQuery.expr[':'].regex = function(elem, index, match) {
var regex = new RegExp(match[3]),
$elem = $(elem);
return regex.test($elem.attr('class')) || regex.test($elem.attr('id'));
};
您可以使用此选择器:
$("div:regex(\\bprice\\b)")