2012-08-03 147 views
0

http://link.com/photo/ 照片 /用户?=单词 “照片” 19746912如果链接中包含的链接

见加粗部分。我怎么可以看看这个链接并确认它有单词“照片”中的第二级,因为有两张照片中的链接,我不能使用此代码:

$('a[href*=photo]).attr('href'); 

正如你可以从上面的代码中看到,它会查找包含照片的链接,然后获取href。问题是什么,如果我有一个包含照片像这样的两个环节:

<a href="http://link.com/photo/photo/user?=19746912"></a> 

<a href="http://link.com/photo/album/user?=19746912"></a> 

你可以看到,这两个链接的第一级有照片的话,如果即时通讯使用上面的代码这是不好的。所以我怎么看链接的第二层次,其中link1是照片,link2是相册,并获得第二级“照片”(第一链接)的href。

我正在使用最新的jQuery。

谢谢。

+1

为什么不这样做'a [href * = photo/photo]'? – elclanrs 2012-08-03 03:41:36

+1

错误:语法错误,无法识别的表达式:[href * = photo/photo] – sm21guy 2012-08-03 03:44:37

+1

把引号'a [href * =“photo/photo”]' – elclanrs 2012-08-03 03:45:11

回答

4

你能不能做到这一点:

$('a[href*="photo/photo"]').attr("href") 

或者,如果你想要做更复杂的东西,你可以使用正则表达式测试在href:

$('a').filter(function() { 
    return /\/photo\/[^\/]+$/.test(this.href); 
}); 

(我已经包括了正则表达式演示目的匹配“/ photo /”后跟一个或多个非斜杠字符,因此它会匹配您的第一个锚,但不匹配第二个。)

演示:http://jsfiddle.net/XAnAq/1/

+0

会削减它的工作吗? – sm21guy 2012-08-03 03:42:44

+0

刚刚测试,萤火虫给了我这个错误“错误:语法错误,无法识别的表达式:[href * = photo/photo]” – sm21guy 2012-08-03 03:43:41

+1

它应该工作*如果您使用字符串周围的引号* ...否则尝试转义双反斜杠:'$('a [href * ='photo \\/photo“]')。attr(”href“)' – nbrooks 2012-08-03 03:44:17