Javascript 重写数组中的链接
我有2个索引页面,每个页面上有大约150个链接。我宁愿维护一个页面,只根据一个变量值动态生成链接。例如,创建链接列表。链接1,链接2,链接3。。。并根据变量值为“true”的情况,将这些链接替换为备用链接列表,即altlink1、altlink2、altlink3 我已经想出了一次如何做到这一点,但与其为每个链接反复编写相同的代码,我想知道是否有更快的方法。比如创建一个列表“a”和相应的列表“b”之类的东西。我已经在下面列出了我当前的代码,我期待着您的建议Javascript 重写数组中的链接,javascript,jquery,arrays,Javascript,Jquery,Arrays,我有2个索引页面,每个页面上有大约150个链接。我宁愿维护一个页面,只根据一个变量值动态生成链接。例如,创建链接列表。链接1,链接2,链接3。。。并根据变量值为“true”的情况,将这些链接替换为备用链接列表,即altlink1、altlink2、altlink3 我已经想出了一次如何做到这一点,但与其为每个链接反复编写相同的代码,我想知道是否有更快的方法。比如创建一个列表“a”和相应的列表“b”之类的东西。我已经在下面列出了我当前的代码,我期待着您的建议 <script type="te
<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>
//链接重写器
var hostadd=location.host;
变量供应商='999.99.999.99';
var localaccess='somesite.com';
$(文件)。准备好了吗(
函数链接切换器(){
//如果不是供应商,则发送至备用网站
如果(hostadd!=供应商){$((a[href=)https://www.somelink1.comattr('href','https://www.alternatelink1.com') }
});
是否可以创建一个数组,然后使用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];
}
});
如果在表中找不到该链接,则不会对其进行修改。如果修改中有一些模式,则可以对该模式进行编码,而不必列出表中的每个链接,但您尚未共享任何有关模式的信息
还有一个正在运行的JSFIDLE示例:。您可以发布一个指向示例页面的链接吗?您希望在链接中更改什么?只是域?你不太清楚你想做什么,试着重新编写你的问题。我想创建一个链接列表。链接1,链接2,链接3。。。根据变量值为“true”的情况,将这些链接替换为备选链接列表,即altlink1、altlink2、altlink3……当页面中有给定链接时,您如何知道用哪个链接替换?另外,当您澄清问题时,请将澄清添加到您上面的实际问题中(使用“编辑”按钮),这样其他阅读您的问题的人也会将澄清视为您原始问题的一部分。@mpriney-由于您是堆栈溢出新手,您是否意识到如果答案对您有帮助,您应该投票赞成(点击左边的向上箭头),然后选择一个你认为最能帮助你的(点击答案左边的复选标记),这给那些帮助过你的人带来了声望点。我没有意识到这一点。非常感谢你的帮助,很难成为NoOB,所以我很感激你的帮助。