我需要选择具有特定格式URL的链接。 我可以使用sizzle来评估正则表达式的链接的href属性吗?嘶嘶声选择器可以评估正则表达式吗?
例如,我可以做这样的事情:
var arrayOfLinks = Sizzle('a[HREF=[0-9]+$]');
创建其URL的数字结尾的页面上的所有链接的数组?
我需要选择具有特定格式URL的链接。 我可以使用sizzle来评估正则表达式的链接的href属性吗?嘶嘶声选择器可以评估正则表达式吗?
例如,我可以做这样的事情:
var arrayOfLinks = Sizzle('a[HREF=[0-9]+$]');
创建其URL的数字结尾的页面上的所有链接的数组?
试试看。我试图将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]+$)');
我试过,但没有足够的时间来找出API(看起来不怎么记录)。我不认为它支持本地,但你可以写一个插件,就像jQuery - http://james.padolsey.com/javascript/regex-selector-for-jquery/ – Kobi 2010-11-11 19:42:54
@Kobi。感谢您花时间看看这个。不幸的是,在这种情况下,我不太可能添加jQuery和插件。 – KatieK 2010-11-11 20:02:03