SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

【Javascript】a要素にtarget=”_blank”を入れたくないとき(XHTML&jQueryで)

問題

XHTMLでは、a要素にtarget=”_blank”って書くのは正しくないそうですね?

答え

HTML4.01 Strict, XHTML1.0 Strict, XHTML1.1 ではtarget属性は廃止されました。

rel属性を使って、「rel=”external”」と書けばtarget=”_blank”と同じ動きをするようにしてみます。jQuery使います。

$("a[rel$='external']").click(function(){this.target = "_blank"})

HTML中に書いてみた例。

<html>
<head>
<title>target=_blankを使わないでtarget=_blank</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script>$(function(){$("a[rel$='external']").click(function(){this.target = "_blank"})})</script>
</head>
<body>
<a href="http://www.softel.jp/" rel="external">通販する蔵サイト</a>、
<a href="https://www.softel.co.jp/">ソフテルコーポレートサイト</a>
</body>
</html>

HTML5においては、a要素、およびarea要素のtarget属性は、iframe要素と併用してウェブアプリケーションとして利用することが想定されているので、この機能は廃止されることも、今後非推奨になることもありません。

関連するメモ

コメント