如何更改页面中所有链接的href?

时间:2014-08-27 09:34:40

标签: javascript php jquery url-rewriting preg-replace

我只想在加载页面时更改所有href链接。使用JavaScript或JQuery或任何其他方法。

我在网页上的链接就像

<a href="http://example.com/book">
<a href="http://example.com/sheo">
<a href="http://example.com/belt">

<a href="http://a.example.com/book">
<a href="http://a.example.com/sheo">
<a href="http://a.example.com/belt">

是否可以使用替换(我只是猜测)? 另请参阅查询字符串如何更改,仅更改主机名。 抱歉混淆。

6 个答案:

答案 0 :(得分:1)

应该做你想做的事情,并保留跟踪请求的链接。

$('a').each(function(i,link){
    link.href = link.href.replace('http://example.com/','http://a.example.com/');
});

答案 1 :(得分:0)

在文档就绪函数中尝试使用以下jquery代码:

$(document).ready(function() {
  $('a').attr('href', 'http://a.example.com');
  });

答案 2 :(得分:0)

这样做:

$('a').attr('href','http://a.example.com');

那就是它。

答案 3 :(得分:0)

使用jQuery:

$("a").attr("href", "http://a.example.com");

或者,如果您想要那些链接到http://example.com的人:

$('a[href="http://example.com"]').attr("href", "http://a.example.com");

答案 4 :(得分:0)

尝试:

$(document).ready(function() {
 $('a[href*="Yourpage.html"]').prop('href' , 'http://a.example.com');
});

答案 5 :(得分:0)

这改进了Jhecht的答案,允许您在保留第二部分的同时替换URL的第一部分:

$('a').each(function(i,link){
    var reg = /(http:\/\/example.com\/)(.*)/
    var newlink = link.href.replace(reg, 'http://m.example.com/$2')
    link.href = newlink;
    link.innerHTML = newlink;
});

DEMO