2012-03-16 35 views
0

我想在URL中检测?= randomString(例如:?= s123ver这是动态生成的服务器端),并在?=页面中所有外部链接都与外部类相关。在URL中检测?= randomString,并附加到所有外部链接与jQuery

这就是我要追加的字符串,我只是不确定如何阅读URL并将其放入_randomString变量,因为?=字符串长度可能会有所不同。

我没有访问服务器端。

var _href = $("a.external").attr("href"); 
var _randomString = ??? 
$("a.external").attr("href", _href + _randomString); 

回答

1

试试这个

var _randomString = window.location.href.match(/\?=(.*)$/)[1]; 
$('a.external').each(function() { 
    $(this).attr('href', $(this).attr('href') + _randomString); 
}); 

这将让你everyting后?=直到URL的末尾,提取它,并将它添加到各个a.external

在href如果您需要包括? =部分(你没有这么说),试试这个

var _randomString = window.location.href.match(/\?=(.*)$/)[1]; 
$('a.external').each(function() { 
    $(this).attr('href', $(this).attr('href') + "?=" + _randomString); 
}); 
+0

谢谢,并且抢占了?=太!它完美的作品。我只是想了解其中的一部分:(/\?=(.*)$/)[1]以从中学习。这是什么? /\做?我假设?=是我要求的标识符。是:(。*)$ /)[1]表示在标识符后面全部选中? – JayDee 2012-03-16 09:22:01

0

您可以使用location.search返回当前url的查询字符串。