我的网站(www.mysite.com)中有以下HTML代码:
<a href="www.website.com?rh=1234">Link 1</a>
<a href="www.website.com/page/?rh=1234">Link 2</a>
我想要做的是,当我的网站的地址示例www.mysite.com?r=9876上附有查询字符串“r”时,html应该更改为:
<a href="www.website.com?r=9876">Link 1</a>
<a href="www.website.com/page/?r=9876">Link 2</a>
我想这可以用javascript,但我不知道该怎么做。我在研究期间发现了this,但这并不是我正在寻找的。我希望只有在有查询字符串时才会发生更改。有人可以帮助我。
答案 0 :(得分:2)
使用jquery选择器选择在其href属性中具有rh的链接
http://api.jquery.com/attribute-contains-selector/
然后使用javascript替换功能
http://www.w3schools.com/jsref/jsref_replace.asp用'r'替换'rh'。
代码就是这个
$('a[href*="www.website.com"]').attr("href",function(i,val){
return val.replace("rh","r");
});
您可以在http://jsfiddle.net/8jCpg/2/
查看演示代码正在做我上面所说的事情。我希望它可以帮到你。
答案 1 :(得分:1)
$(document).ready(function() {
if (/[?&]r=/.test(location.href)) {
$('a').each(function() {
this.href = this.href
+ location.href.substr(location.href.indexOf('?'));
});
}
});
答案 2 :(得分:1)
此脚本将执行此操作:
$(document).ready(function() {
$('a[href^="www.website.com"]').each(function(){
$(this).attr("href",$(this).attr("href").replace(new RegExp("([?&])rh=([0-9])","g"),"$1r=$2"));
});
});