2009-12-21 169 views
0

我想動態更改鏈接參數。使用jquery動態更改超鏈接

例如,

  1. 鏈接1
  2. 鏈路2
  3. 鏈接3

默認網頁的網址是什麼?項目=文本即對於LINK1(HREF = 「?項目=鏈路1」)等。 但是當我單擊鏈接1鏈接2和LINK3的網址應該是 鏈接2(?=項LINK2 &項目=鏈接1) LINK3(?=項LINK3 &項目=鏈接1)

任何想法如何實現這一目標?

感謝,

+0

查看http://stackoverflow.com/questions/179713/how-to-change-the-href-for-a-hyperlink-using-jquery – 2009-12-21 20:19:01

+1

我看到那篇文章,但我的問題是不同的。 – TSSS22 2009-12-21 20:52:25

回答

2

假設所有的鏈接有一個類的superspeciallink,這應該工作:

$('a.superspeciallink').bind('click', function(){ 
    var querystring = this.search; // The search property of links gives you the querystring section of their href 
    var originalhref = this.href; 

    $('a.superspeciallink').each(function(){ 
     if(this.href != originalhref) { 
      this.href = this.href + '&' + querystring.slice(1); 
     } 
    }); 

    return false; 
}); 

這意味着,這些鏈接永遠不會,雖然其後 - 我假設其他一些JavaScript最終會被讀出這些查詢字符串值。

+0

這似乎是一個不錯的方法,我需要檢查這一點,但在我的情況下,所有的鏈接都是同一類。而實際上它的方法來過濾東西。是的,你是它的加入只是查詢字符串一個到另一個,但這是添加過濾器..... – TSSS22 2009-12-21 20:55:04

+0

啊,好吧。我已經修改它以使用全部同一類的鏈接。 它目前不檢查查詢字符串是否已被添加,因此您最終可能會收到?item = link1&item = link3&item = link3&item = link3&item = link3&item = link3。 – 2009-12-21 21:14:15

0

調用的jQuery像下面這樣:

$("my#links").attr("href", "new/href/value"); 

你需要寫一個函數來計算HREF的新價值爲每個鏈接,當然。

+0

但它對於例如如果我點擊link3,所以它應該是相同的,如果我先點擊link3,然後link1會有網址(?item = link1&item = link3)。如果我點擊鏈接2後,它的網址將是 (link1:?item = link1&item = link2&item = link3) – TSSS22 2009-12-21 20:31:04

+0

如果它的目的是工作如何描述,那麼這些鏈接都不會做任何事情,除了將他們的查詢字符串添加到每個其他。他們中沒有一個會真正遵循。他們是否應該只在第一時間做查詢字符串操作? – 2009-12-21 20:38:01