将 target=_blank 添加到 HTML 字符串中的每个链接

Bas*_*asj 1 html javascript dom hyperlink

我有一个字符串s(HTML 格式的文本段落),我使用它将其包含在div.

document.getElementById("mydiv").innerHTML = s;
Run Code Online (Sandbox Code Playgroud)

s可能包含一些<a href="...">...</a>链接。如何自动添加target="_blank"这些链接?(这样如果用户点击它们,它就不会替换当前页面)

我正在考虑使用某种正则表达式来检测 中的链接s,检测 target=_blank 是否已经存在,如果不存在,则添加它,但这看起来很复杂。在 DOM 中插入 after 后添加target=_blankafter会更好吗?如果是这样,怎么办?s.innerHTML = s

Mam*_*mun 6

添加锚点后innerHTML,使用 迭代所有锚点querySelectorAll()。然后设置target属性setAttribute()如下:

document.querySelectorAll("#mydiv a").forEach(function(a){
  a.setAttribute('target', '_blank');
})
Run Code Online (Sandbox Code Playgroud)