ターゲット属性を追加しないことをお勧めします。アクセシビリティの理由で削除されました。ブラウザのタグを開く方法をページが決定したときに嫌いです。もちろん、必要に応じて自由に行うことができます。上記のDarinがXHTML1.0StrictまたはXHTML1.1として検証できるJavaScriptメソッドを紹介します。
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をすでに他の場所に含めている場合は省略できますが$(document).ready();
、ページの読み込みが完了したときにJavaScriptが読み込まれるように、window.onloadを使用する(またはJQueryなどの別の読み込み関数を使用する)ことをお勧めします。これで、各アンカーリンクに「targetblank
」のクラスを指定するだけで、リンクが新しいタブで開きます。