在特定的div中使链接在新标签页打开

7
我想在我的帖子中将链接打开到新页面或新标签页,但只是特定部分的链接,而不是页面上的所有链接。我不想在所有标签中都加入_blank,这太费时间了。我该怎么做呢?
提前感谢您。

@ayush 特定部分是什么意思?你是指特定的链接吗?请告知它们是 a href 还是 div 点击。有多种方法可以实现。 - kobe
@ayush,如果其他人给出的答案解决了你的问题,请将其标记为答案。这样他们将来在回答问题时会更快地响应并帮助所有人。 - kobe
3个回答

14

使用jQuery,您可以将所有链接的target设置为_blank。例如:

$(function(){
  $("#myDiv a").attr("target","_blank");
});

在 jsFiddle 上的示例。


@ayush,你可以将上面的代码放在document.ready中...这样它就会更新所有的a hrefs。 - kobe
@gov - 添加了文档就绪代码。我只是认为这是理所当然的。 :) - Gert Grenander
只是一个小问题。这会在 div 上为所有链接添加 target="_blank",并保留已经具有该属性的链接,对吗?如果链接已经有 target 属性,它不会再次添加吗? - Michael Rogers

0

你真的应该把它们放进去。如果太耗时,可以尝试使用简单的正则表达式来自动完成(只在你关心的HTML上运行)。替换为:

(<a href[^>]*)(>)

使用

$1 target="_blank"$2

如果你真的需要的话,你可以使用JavaScript,但是在禁用JavaScript的情况下它将无法工作。这对于解决这个问题来说确实是一个糟糕的解决方案:

var el = document.getElementById('myDiv'); // or some other way of making `el` point to your element
var links = el.getElementsByTagName('a');
for( var i = 0; i < links.length; i++ )
{
  links.target = '_blank';
}

links[i].target = '_blank'; - Farhod Nematov

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接