我建議不是加入目標屬性。它由於可訪問性原因而被丟棄,並且我不喜歡它在我的瀏覽器標籤如何打開的時候決定me。當然,如果你願意,你可以自由地這樣做。我將告訴你一個JavaScript方法達林上面提到允許您驗證作爲XHTML 1.0嚴格或XHTML 1.1:
HTML代碼:
<!-- Added link titles for better testing purposes -->
<ul id="socialnetwork">
<li><a href="http://www.twitter.com/" class="targetblank">Twitter</a></li>
<li><a href="http://www.flickr.com/" class="targetblank">Flickr</a></li>
<li><a href="http://www.xing.com/" class="targetblank">XING</a></li>
<li><a href="http://www.rss.com/" class="targetblank">RSS</a></li>
</ul>
JavaScript代碼:
window.onload = function() {
// Code if document.getElementByClassName() doesn't exist
if (document.getElementsByClassName == undefined) {
document.getElementsByClassName = function(className) {
var hasClassName = new RegExp("(?:^|\\s)" + className + "(?:$|\\s)");
var allElements = document.getElementsByTagName("*");
var results = [];
var element;
for (var i = 0; (element = allElements[i]) != null; i++) {
var elementClass = element.className;
if (elementClass && elementClass.indexOf(className) != -1 && hasClassName.test(elementClass))
results.push(element);
}
return results;
}
}
var anchorList = document.getElementsByClassName('targetblank');
for (var i in anchorList) {
anchorList[i].target = '_blank';
}
}
當然,如果你已經在其他地方包含它,你可以省略window.onload,但是我建議使用它(或者使用其他的加載函數,比如JQuery的$(document).ready();
),因此JavaScript在頁面加載完成時加載。現在,您需要做的就是爲每個錨鏈接指定一類「targetblank
」,並且鏈接應該在新選項卡中打開。
好吧,那麼我必須放棄Strict ..現在是它的過渡時間。 – Tomkay 2011-01-12 08:26:20
在這種情況下,如何在沒有目標屬性且沒有JavaScript的情況下在新選項卡中打開鏈接? – user1886419 2013-09-16 19:26:36
請不要試圖刪除這樣的有用答案。即使你已經完成了SO,他們仍然會受益於其他人。 – hvd 2014-06-07 00:34:22