在href上使用选择器但忽略GET变量

时间:2011-03-25 16:48:52

标签: jquery jquery-selectors css-selectors

我希望能够选择与给定网址完全匹配的所有<a>代码。如果我的目标网址为http://www.example.com/foo,我想同时匹配:

<a href="http://www.example.com/foo">Blah</a>
<a href="http://www.example.com/foo?a=b">Blah</a>

我不能只使用$('a[href^="http://www.example.com/foo"]'),因为它也匹配http://www.example.com/foo/bar

选择器是否可以实现,或者我必须手动迭代链接吗?

2 个答案:

答案 0 :(得分:1)

我相信这就是你所追求的......

$('a[href^="http://www.example.com/foo"]').filter('[href="http://www.example.com/foo"],[href^="http://www.example.com/foo?"]');

基本上,这应该得到所有以URL开头的链接。然后进行过滤,以确保只返回完全匹配或完全匹配AND且具有GET参数的那些。

这是一个jsfiddle proving it

答案 1 :(得分:0)

你可以编写自己的选择器。或者,有一个允许你使用正则表达式的插件:http://james.padolsey.com/javascript/regex-selector-for-jquery/