2012-08-03 143 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