添加到当前属性值

时间:2014-12-10 22:30:32

标签: jquery

我正在一个网站上工作,其中的内容是从另一个网站(同一个人拥有)中删除的。当它拉入链接时,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);
});

结果相同。我尝试了其他两种方式,但这两种方式最接近。如果没有通过替换功能运行它来将其剥离到我需要的东西,我怎么能这样做呢? (这看起来很草率)

1 个答案:

答案 0 :(得分:1)

试试这个:

$('.disamb li a').attr('href', function(i, old) {
    return '/' + old;
});

该函数接收两个参数,即当前元素的索引和属性的当前值。

当您使用this.href时,您会在浏览器规范化为完整的绝对网址后获取该网址,而不是该属性的字符串值。