jQuery Selector与正则表达式

时间:2013-08-30 08:04:06

标签: javascript jquery regex

我希望扫描一个页面并查找具有包含单词price的类或ID的任何html元素。我的想法是在这里使用正则表达式,但我无法正确启动它。

我在OS X上使用Safari和Chrome

var price = $("div:regex(\bprice\b)").text();

目的是在电子商务网站上获取产品的价格,如果尚未在已经处理的Open Graph中说明。

3 个答案:

答案 0 :(得分:3)

"\b""\x08"相同。

逃脱\

var price = $("div:regex(\\bprice\\b)").text();

答案 1 :(得分:2)

一种简单的方法是使用包含单词选择器

$('div[id~="price"], div[class~="price"]')

请参阅http://api.jquery.com/attribute-contains-word-selector/

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