2011-05-04 111 views
1

在搜索結果頁面上,我有鏈接。我想將某些href的href從DispForm.aspx?ID=n更改爲AllItems.aspx?ID=n,但僅適用於網址中有/R/I/P/的href。更改href jquery

我想用jQuery來改變這些href。 有什麼建議嗎?

<a title="" href="http://win/R/I/P/IL/F/DispForm.aspx?ID=n" id="S">link one</a> 
<a title="" href="http://win/R/I/P/L/PN/DispForm.aspx?ID=n" id="S">link two</a> 
<a title="" href="http://win/L/L/DispForm.aspx?ID=n" id="S">link three</a> 
+2

首先,你不應該使用相同的ID爲多個元素。用班級來代替。 – 2011-05-04 07:39:23

+0

Ids應該始終是獨一無二的,你永遠不應該複製它們 – kobe 2011-05-04 07:40:32

回答

2

有了這個:

$("a[href*='/R/I/P/']").each(function(){ 
    var href = $(this).attr('href').replace('DispForm.aspx?', 'AllItems.aspx?'); 
    $(this).attr("href", href); 
}); 
4
jQuery('a[href*="/R/I/P/"]').each(function(){ 
    this.href = this.href.replace('DispForm', 'AllItems'); 
}); 
+0

也可以工作:) – user472285 2011-05-04 08:11:01

+0

@ user472285你是什麼意思「太」?檢查答案的時間戳 – Phil 2011-05-04 12:20:20

0

這應該這樣做!

http://jsfiddle.net/2VZMb/

+0

這看起來很有前途,但我想保持?ID = n在結尾的href – user472285 2011-05-04 07:56:41

+0

而你必須通過JavaScript來做到這一點?服務器端不知道ID? – netbrain 2011-05-04 08:07:31

0
$('a').each(function() { 
var href = $(this).attr('href'); 
if (href.indexOf("/R/I/P") >= 0) { 
    $(this).attr('href', new_href); 
}