gpt4 book ai didi

javascript - 使用 jquery 转换页面加载时的超链接

转载 作者:行者123 更新时间:2023-11-28 13:31:54 26 4
gpt4 key购买 nike

我需要将所有链接(href 值)转换为特定格式

例如 - 如果页面有链接 http://www.exampledomain.com我想将其 href 转换为 http://url.com/xyz?http://www.example.com

下面是我用于此任务的 jquery(请注意,我是 jquery 新手)

$( document ).ready(function() {  
$('a').each(function() {
var value = $(this).attr('href');
$(this).attr('href','http://url.com/xyz?'+value);
});
});

但是上面的脚本正在转换网站的所有链接,并且我的导航链接也发生了变化。 我们如何过滤以仅更改包含“http”和“www”的链接的 href?

我知道某种正则表达式可以用于此目的。提前致谢!

最佳答案

我认为你应该提取所有内部链接。

您可以检查值是否符合您的条件 (http://www):

   $( document ).ready(function() {  
$('a').each(function() {
var value = $(this).attr('href');
if(value.indexOf("http:\\www") > -1 ){
$(this).attr('href','http://url.com/xyz?'+value);
}

});

但最好提取所有内部链接:

var myHost = new RegExp(location.host);

$('a').each(function(){
var value = $(this).attr('href');
if(!(myHost.test(value))){
$(this).attr('href','http://url.com/xyz?'+value);
}
});

最后一个也是更好的选择是仅使用外部链接:(如果您不必对内部进行任何操作)

 $( document ).ready(function() {  
$("a[href^='http']").each(function() {
var value = $(this).attr('href');
$(this).attr('href','http://url.com/xyz?'+value);
}

});

关于javascript - 使用 jquery 转换页面加载时的超链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24160805/

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