首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向现有href添加href

向现有href添加href
EN

Stack Overflow用户
提问于 2017-05-31 22:55:48
回答 5查看 50关注 0票数 0

我正在抓取一个新闻网站,他们还提供了一整篇文章的链接,但是这些链接的href看起来像这样:

代码语言:javascript
复制
/news-features/8/news-headlines/103818/these-pupils-deserve-better

所以为了链接,我需要动态添加:

代码语言:javascript
复制
http://www.oldham-chronicle.co.uk

因此,整个链接将是:

代码语言:javascript
复制
http://www.oldham-chronicle.co.uk/news-features/8/news-headlines/103818/these-pupils-deserve-better

正如你可以假设有超过1篇文章,然而,我需要添加的链接部分是相同的。因此,对于它们中的每一个,我都需要添加它。

目前我有:

代码语言:javascript
复制
$("a").each(function(){
    this.href=this.href.replace("http://www.oldham-chronicle.co.uk");
});

然而,我的链接看起来像这样:

代码语言:javascript
复制
href="http://localhost/news-features/8/news-headlines/103818/these-pupils-deserve-better"

这是错的,怎么解决呢?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2017-05-31 23:02:49

试试这个:

代码语言:javascript
复制
var base = "http://www.oldham-chronicle.co.uk/";
$('a').each(function(index, element) {
  element.href = element.href.replace("http://localhost/", base);
})

基本上,这个循环遍历每个a元素,并预置所需的硬编码URL。(如果需要,您也可以在不使用jquery的情况下完成此操作)

编辑:误解了原始问题,从评论中更新以替换开头的url (使用简单的匹配器)

票数 2
EN

Stack Overflow用户

发布于 2017-05-31 23:05:46

这将为你工作

代码语言:javascript
复制
$("a").each(function(){
     if ($(this).attr('href') != null) {
        var newUrl = $(this).attr('href').replace("http://localhost","http://www.oldham-chronicle.co.uk");
        if (newUrl.indexOf("http:")==-1) {newUrl  = "http://www.oldham-chronicle.co.uk"+newUrl; }
        $(this).attr('href', 
         );
     }
});
票数 0
EN

Stack Overflow用户

发布于 2017-05-31 23:14:13

对于使用现代浏览器的读者,您可以只使用the

代码语言:javascript
复制
$('a').each((i, e) => e.hostname = 'www.oldham-chronicle.co.uk');

请注意,如链接页面所示,这在Internet Explorer和其他一些浏览器中不起作用。此示例还使用箭头函数,这些函数在某些较旧的浏览器中不受支持。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44288083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档