我正在一个网站上工作,其中的内容是从另一个网站(同一个人拥有)中删除的。当它拉入链接时,href没有按照我需要的方式进行格式化,因此我试图保留原始值并在其开头添加斜杠。我已经接近了,但无法让它正常工作。目前的格式为href="like-this"
,但我需要href="/like-this"
。
这就是我尝试过的结果:
$('.disamb li a').attr('href', function() {
return '/' + this.href;
});
在一开始就返回整个绝对URL。所以我尝试使用each()
:
$('.disamb li a').each(function() {
$(this).attr('href', '/'+this.href);
});
结果相同。我尝试了其他两种方式,但这两种方式最接近。如果没有通过替换功能运行它来将其剥离到我需要的东西,我怎么能这样做呢? (这看起来很草率)
答案 0 :(得分:1)
试试这个:
$('.disamb li a').attr('href', function(i, old) {
return '/' + old;
});
该函数接收两个参数,即当前元素的索引和属性的当前值。
当您使用this.href
时,您会在浏览器规范化为完整的绝对网址后获取该网址,而不是该属性的字符串值。