【问题标题】:How to change href of all links in a page? [closed]如何更改页面中所有链接的href? [关闭]
【发布时间】:2014-10-20 19:57:23
【问题描述】:

我只想在页面加载时更改所有 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">

是否可以使用替换(我只是猜测)? 另请参阅查询字符串如何不改变,只有主机名改变。 很抱歉造成混乱。

【问题讨论】:

  • 你的意思是如果你有http://cnn.com,你想把它改成http://a.cnn.com,还是http://example.com,因为我想知道这些答案是不是过火了?
  • 那么,例如,指向http://m.example.com/ 的链接呢?作为补充,对于这个问题,我不知道是要否决所有事情,还是投反对票“不清楚你在问什么”。
  • 我投票支持;惩罚那些试图帮助解决不清楚的问题的人似乎是不公平的。
  • 很好地解决了我的问题,但请建议我是否有与查询字符串的链接。像example.com/college_bookstore/textbook,也有很多具有不同查询字符串但具有相同基本url example.com的链接
  • 供将来参考,@Racheal,更多信息应该在您的原始问题中。最好接受其中一个答案,然后提出一个新问题来解决这个新问题。

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


【解决方案1】:

这改进了 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

【讨论】:

  • 我想你的答案非常接近,我正在使用 example.com/the_swaggy_college_bookstore/textbook" id="gg" style="font-size:36px">test1 example.com/bookstore/textbook1" id="gg" style="字体大小:36px">test2
  • @Racheal,如果您也是如此,我已经更新了我的答案以替换链接文本。
  • 你好安迪,我已经实现了你的代码它不起作用,我一遍又一遍地检查所有代码,即使在简单的测试文件中,它也不起作用,我使用的是最新的 jquery 文件也。
  • 我不确定那里发生了什么。它在演示中运行良好。
  • 宾果宾果宾果,它也适用于移动设备,我的意思是我的代码。你是个聪明人。谢谢。
【解决方案2】:

应该做你想做的,并保持请求后面的链接完整。

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

【讨论】:

  • 我认为这应该做你的工作..
  • 但是如何使用查询字符串进行更改。 example.com/college_bookstore/textbook,还有很多链接不同的查询字符串,但具有相同的基本 url example.com
  • 如果您尝试将网站中包含'http://example.com/' 的所有链接更改为'http://a.example.com/',那么可以,这应该可以。如果没有更多细节,我无法更具体地解决您的问题。
【解决方案3】:

试试:

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

【讨论】:

    【解决方案4】:

    使用 jQuery:

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

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

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

    【讨论】:

      【解决方案5】:

      这样做:

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

      就是这样。

      【讨论】:

        【解决方案6】:

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

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

        【讨论】:

        • 无需循环每个 'a' 元素。
        猜你喜欢
        • 2013-10-22
        • 1970-01-01
        • 1970-01-01
        • 2013-10-22
        • 1970-01-01
        • 1970-01-01
        • 2014-01-21
        • 1970-01-01
        • 2012-10-21
        相关资源
        最近更新 更多