【问题标题】:add to current attribute value添加到当前属性值
【发布时间】:2015-02-09 07:14:47
【问题描述】:

我在一个网站上工作,该网站的内容是从另一个网站(都属于同一个人)上抓取的。当它拉入链接时,href 没有按照我需要的方式格式化,所以我试图保留原始值并在它的开头添加一个斜杠。我已经接近了,但无法让它正常工作。当前格式是href="like-this",但我需要它是href="/like-this"

这是我尝试过的接近:

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

这会返回整个绝对网址,开头带有 / 。所以我尝试使用each():

$('.disamb li a').each(function() {
    $(this).attr('href', '/'+this.href);
});

同样的结果。我尝试了其他几种方法,但这两种是最接近的。如果不通过替换功能运行它以将其分解为我需要的内容,我怎么能这样做呢? (这看起来很草率)

【问题讨论】:

标签: jquery


【解决方案1】:

试试这个:

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

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

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

【讨论】:

  • 好吧,很高兴知道如何使用this。这完全符合我的需要。谢谢!我知道我已经很接近了,但我做错了。
猜你喜欢
  • 2013-12-18
  • 1970-01-01
  • 2017-02-10
  • 1970-01-01
  • 2020-05-10
  • 1970-01-01
  • 2021-09-26
  • 2015-08-03
  • 1970-01-01
相关资源
最近更新 更多