2011-04-26 49 views

回答

0

在jQuery中,你可以这样做:

$("a").attr("target","_blank"); 

我不知道这将如何与Blogger坐,虽然我不知道你是否可以使用自定义脚本...

+0

为什么人们会对JavaScript问题提供jQuery解答?如果没有jQuery,做这件事并不困难,只为这一行我不会加载jQuery。我相信你有良好的意图,但只提供“jQuery方式”不适合这类问题。 – 2011-04-26 09:27:11

+0

@Felix Kling:我猜想的公平点,虽然问题陈述'_jscript或任何其他method_',所以我认为这属于后者。 – Town 2011-04-26 09:30:33

+0

True ....那么,NVM :) – 2011-04-26 09:31:48

6

如果XHTML是你关心的问题(正如问题中的标签所指出的那样),值得注意的是目标不是一个有效的属性。无论如何,这里是你如何使用javascript来做到这一点。

var links = document.getElementsByTagName('a'); 
for (var i = 0; i < links.length; ++i) { 
    links[i].setAttribute('target', '_blank'); 
} 
+0

+1,但更好的办法是缓存'length'有'links'是一个live集合thingy,这意味着每当你访问它的一个属性时它就会被重新评估。如果可能的话,我通常只是按照相反的顺序循环:'for(var i = links.length; i--;)' – 2011-04-26 09:31:16

+0

@Felix,yup - 但有时候只是坚持使用“初学者”代码来关注什么是重要 – nickf 2011-04-26 09:49:36

+0

目标不是有效的属性?是的。 XHTML比XHTML 1.0 Strict更多。 – Quentin 2011-04-26 10:16:51

0

未经检验的,但是:

var a = document.getElementsByTagName('a'); 
var num = a.length; 

for(i=1; i<=num; i++) { 
    a[i].setAttribute('target', '_blank'); 
} 
2

如果你试图让所有的链接在新窗口/标签中打开,标准的方法是把它添加到你的页面的<head>节:

<base target="_blank"> 
+1

这适用于我!这很简单,我不知道为什么人们会用Javascript来做这件事。 – Argent 2016-12-16 15:03:07

相关问题