代码之家  ›  专栏  ›  技术社区  ›  KatieK

sizzle选择器可以计算正则表达式吗?

  •  3
  • KatieK  · 技术社区  · 14 年前

    我需要选择一个特定格式的网址链接。 我可以使用sizzle对正则表达式计算链接的ref属性吗?

    例如,我可以这样做吗:

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

    在URL以数字结尾的页面上创建所有链接的数组?

    1 回复  |  直到 14 年前
        1
  •  3
  •   stevelove    14 年前

    试试这个。我试图将Kobi链接到的jQuery regex选择器转换为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]+$)');