如果网址有http或https

时间:2017-09-28 16:45:12

标签: javascript

我试图在文本中找到所有具有http或https的链接,并使用此代码将目标空白添加到它们中:

    const text   = this.node.body;
    const regex = /https?:\/\//i;
    let newStr = text.replace(regex, '$& target="_blank"');

    return newStr;

但是,它不起作用,具有http或https的链接没有得到目标空白。这样做的正确方法是什么? 这是示例文本:

<p><a href='www.link.com'>Link</a></p><p><div><img src='http://image.jpg' /></div></p><p><a href='http://link.html'>link</a></p>

这是代码的结果:

<p><a href='www.link.com'>Link</a></p><p><div><img src='http:// target="_blank"/image.jpg' /></div></p><p><a href='http://link.html'>link</a></p>

1 个答案:

答案 0 :(得分:0)

试试这个:

document.querySelectorAll('a[href^="http"]').forEach(function(e) {
  e.setAttribute('target', '_blank');
});