gpt4 book ai didi

javascript - 重写数组中的链接

转载 作者:行者123 更新时间:2023-12-02 20:05:23 25 4
gpt4 key购买 nike

我有 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?

最佳答案

目前还不完全清楚您要做什么,但如果您想根据查找表重写所有链接,该查找表告诉您将哪个链接转换为什么内容,则可以按以下方法执行此操作:

// 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/ .

关于javascript - 重写数组中的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7492521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com