我正在尝试在整个页面中进行查找和替换,并向包含某些指定文本的任何URL添加一些参数。 (我说的是硬编码的内联href URL)
所以,例如,我想替换这个的任何实例:
<a href ="http://localhost/wordpress/">Link</a>
使用
<a href ="http://localhost/wordpress/?demo_mobile_site">Link</a>
我尝试了一些我发现的替换功能,但是我无法使用字符串中的正斜杠。
对此有任何帮助将不胜感激。感谢
答案 0 :(得分:2)
只需简单地添加到字符串上,您就不需要替换任何内容。
$('a').each(function(){
var _href = $(this).attr('href');
$(this).attr('href', _href + (_href.charAt(_href.length-1) == '/' ? "? demo_mobile_site" : "/?demo_mobile_site");
});
或者如果您只想替换一个href,您可以执行以下操作:
$('a[href^="http://localhost/wordpress"]').each(function(){
var _href = $(this).attr('href');
$(this).attr('href', (_href.charAt(_href.length-1) == '/' ? _href + "?demo_mobile_site" : "/?demo_mobile_site");
});
这包括带有查询字符串的url:
$('a').each(function(){
var _href = $(this).attr('href');
if ( _href.indexOf('?') >= 0 ){
$(this).attr('href', _href + "&demo_mobile_site=");
} else if ( _href.charAt(_href.length-1) == '/' ) {
$(this).attr('href', _href + "?demo_mobile_site");
} else {
$(this).attr('href', _href + "/?demo_mobile_site");
}
});
答案 1 :(得分:0)
检查我使用替换创建的此示例,它可以正常工作。
var value ="This is some text . http://localhost/wordpress/ Some text after ";
var source= "http://localhost/wordpress/";
var dest = "http://localhost/wordpress/?demo_mobile_site";
alert(value);
value= value.replace(source,dest);
alert(value);
答案 2 :(得分:0)
这些是否始终在链接中?如果是这样的话:
$('a[href="http://localhost/wordpress/"]').attr('href', 'http://localhost/wordpress/?demo_mobile_site');
答案 3 :(得分:0)
$('a[href="http://localhost/wordpress/"]').each(function(){
var newhref = $(this).attr('href') + '?mobile_site';
$(this).attr('href', newhref);
});