【问题标题】:Rewrite links from an array重写数组中的链接
【发布时间】:2011-09-20 22:22:56
【问题描述】:

我有 2 个索引页,大约有 2 个索引页。每个链接 150 个。我宁愿维护 1 页,只根据变量值动态生成链接。例如创建一个链接列表。 link1、link2、link3... 并基于变量值为“true”,将这些链接替换为备用链接列表,即 altlink1、altlink2、altlink3...

我已经想出了如何做到这一点,但我没有为每个链接一遍又一遍地编写相同的代码,我想知道是否有更快的方法。就像创建一个列表“a”和相应的列表“b”或类似的东西。我在下面包含了我当前的代码,期待您的建议。

<script type="text/javascript">          
// link rewriter        
var hostadd = location.host;
var vendor = '999.99.999.99';
var localaccess = 'somesite.com';

    $(document).ready (
    function link_switcher(){ 
    //if not a vendor route to alternate website
    if (hostadd != vendor) { $("a[href= 'https://www.somelink1.com']").attr    ('href', 'https://www.alternatelink1.com')  }
});
</script>

是否可以创建一个数组,然后用 javascript 将数组 a 中的 link1 替换为数组 b 中的 alternatelink1?

【问题讨论】:

  • 你能发布一个示例页面的链接吗?
  • 您想在链接中更改什么?只是域?
  • 不太清楚你想做什么,试着改写你的问题。
  • 我想创建一个链接列表。 link1、link2、link3... 并基于变量值为“true”,将这些链接替换为备用链接列表,即 altlink1、altlink2、altlink3....
  • 当您在页面中有给定链接时,您如何知道用哪个链接替换它?此外,当您澄清问题时,请将澄清添加到您上面的实际问题中(使用“编辑”按钮),以便阅读您问题的其他人也将看到澄清作为您原始问题的一部分。

标签: javascript jquery arrays


【解决方案1】:

仍然不完全清楚您要做什么,但如果您想根据一个查找表重写所有链接,该表告诉您要转换成什么链接,您可以这样做:

// Table of links. 
// Key is original page source URL
// Data is link to change it to
var linkData = {
    "http://www.google.com": "http://www.bing.com/",
    "http://mail.google.com/mail/?shva=1#inbox": "http://www.hotmail.com"    
};

// find every link in the page and change it if it's value is found in the linkData table
$("a").each(function() {
    var link = this.getAttribute("href");  // use getAttribute to get what was actually in the page, perhaps not fully qualified
    if (linkData[link]) {
        this.href = linkData[link];
    }
});

如果在表中没有找到链接,则不会修改。如果修改有某种模式,则可以编写该模式的代码,而不必列出表中的每个链接,但您还没有分享有关模式的任何信息。

还有一个有效的 jsFiddle 示例:http://jsfiddle.net/jfriend00/Cvj8C/

【讨论】:

  • @mpriney - 由于您是 Stack Overflow 上的新手,您是否意识到如果它对您有帮助,您应该投票给答案(单击它左侧的向上箭头)并最终选择一个您认为对您帮助最大的一个(单击答案左侧的复选标记)?这会给那些帮助过你的人提供声誉积分。
  • 我不知道!非常感谢你的帮助,作为一个菜鸟很难,所以我很感激你的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-22
  • 1970-01-01
  • 1970-01-01
  • 2014-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多