我建议不要添加目标属性。由于可访问性原因,它被删除了,当页面决定我的浏览器标签如何打开时,我不喜欢它。当然,如果您愿意,您可以自由地这样做。我将向您展示 Darin 上面提到的一种 JavaScript 方法,它允许您验证为 XHTML 1.0 Strict 或 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's $(document).ready();
),以便在页面完成加载时加载 JavaScript。现在,您需要做的就是给每个锚链接一个“ targetblank
”类,并且链接应该在新选项卡中打开。