【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要素と併用してウェブアプリケーションとして利用することが想定されているので、この機能は廃止されることも、今後非推奨になることもありません。
コメント