3

我需要选择具有特定 URL 格式的链接。 我可以使用 sizzle 根据正则表达式评估链接的 href 属性吗?

例如,我可以这样做:

var arrayOfLinks = Sizzle('a[HREF=[0-9]+$]');

在其 URL 以数字结尾的页面上创建一个包含所有链接的数组?

4

1 回答 1

3

试试这个。我试图将 Kobi 链接到的 jQuery 正则表达式选择器转换为 Sizzle 选择器扩展。似乎有效,但我还没有通过很多测试。

Sizzle.selectors.filters.regex = function(elem, i, match){ 
    var matchParams = match[3].split(',', 2);
    var attr = matchParams[0];
    var pattern = matchParams[1];
    var regex = new RegExp(pattern.replace(/^\s+|\s+$/g,''), 'ig');
    return regex.test(elem.getAttribute(attr));
};

在这种情况下,您的示例将写为:

var arrayOfLinks = Sizzle('a:regex(href,[0-9]+$)');
于 2010-11-11T21:10:58.487 回答