2

我正在寻找扫描页面并查找具有包含单词的类或 id 的任何 html 元素price。我的想法是在这里使用正则表达式,但我无法让它正确触发。

我在 OS X 上使用 Safari 和 Chrome

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

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

4

3 回答 3

3

"\b"与 相同"\x08"

逃生\

var price = $("div:regex(\\bprice\\b)").text();
于 2013-08-30T08:05:53.487 回答
2

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

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

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

于 2013-08-30T08:10:33.923 回答
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)")
于 2013-08-30T08:13:01.227 回答