2011-04-26 50 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

相關問題