aタグをページ内に記述せず、JavaScriptでリンクを設定する (DOM Scriptingの場合)


動作ブラウザ 【 IE:5.0   FF:1.0   Safari:1.0
Internet Explorer Firefox Opera Safari
4.0x 4.5 5.0x 5.5 6.0 7.0 1.0 1.5 2.0 7.x 8.x 9.0 1.x 2.0 3.0
Windows × - - -
Macintosh × × - - -
UNIX - - - - - - - -

ポイント var linkID = "yahoo"; // リンクを設定するタグのID var linkURL = "http://www.yahoo.co.jp/"; var baseTag = document.getElementById(linkID); var link1 = baseTag.firstChild.nodeValue; var aTag = document.createElement("a"); aTag.href = linkURL; aTag.appendChild(document.createTextNode(link1)); baseTag.replaceChild(aTag, baseTag.firstChild); <span id="yahoo">Yahoo JAPAN</span>
説  明 HTMLのaタグを使わずに、テキストや画像にリンクするには、あらかじめspanタグやimgタグにID名を指定します。このIDを目印にしてdocument.getElementById()で内容(最初のノード)を読み出します。サンプルではこの読み出した文字は「Yahoo JAPAN」になります。次にリンクはdocument.createElement("a")を使ってタグを生成します。このタグ(オブジェクト/ノード)にhref属性値などを設定します。後は、spanタグとaタグを置換します。これでリンクが設定されます。
サンプル <html> <head> <meta http-equiv="content-type" content="text/html;charset=shift_jis"> <title>aタグをページ内に記述せず、JavaScriptでリンクを設定する (DOM Scriptingの場合)</title> <script type="text/javascript"><!-- window.onload = function(){ var linkID = "yahoo"; // リンクを設定するタグのID var linkURL = "http://www.yahoo.co.jp/"; var baseTag = document.getElementById(linkID); var link1 = baseTag.firstChild.nodeValue; var aTag = document.createElement("a"); aTag.href = linkURL; aTag.appendChild(document.createTextNode(link1)); baseTag.replaceChild(aTag, baseTag.firstChild); } // --></script> </head> <body> <h1>aタグをページ内に記述せず、JavaScriptでリンクを設定する (DOM Scriptingの場合)</h1> <p> このスクリプトでは後付けで<span id="yahoo">Yahoo JAPAN</span>にリンクできます。 </p> </body> </html>
補足説明 なし

■サンプルスクリプトを実行する >>実行
■各ブラウザでの動作結果を見る >>View!



写真素材 PIXTA