2009-12-21 134 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