まほ〜のあいらんどけんきゅ〜

リンクテキストの入れ替え(ニューヴァージョン)

2005.1.10.リンクテキスト入れ替えのニューヴァージョンができました。 DOM度30%アップ(当社比)です(笑) 改造・転載・再配布可能ですが、当サイトへのリンクを貼っていただけると嬉しいです。


//--------------------------------------------------------------------------------------------------------------------------------------------------------
//魔法のiらんど掲示板改造リンクテキストの入れ替え
//dbは2次元配列になっています。
//内側の配列の[0]番目に元のテキスト、[1]番目に置換後のテキストまたは画像URL、[2]番目に画像のalt属性、[3]番目にtarget属性を2重引用符ではさんで記述します。
//画像でない場合は、[2]番目は空文字列""にします。
//targetを指定しない場合は[3]番目を空文字列""にします。
//改造、転載、再配布の際は、「まほ〜のあいらんどけんきゅ〜」"http://purest.fc2web.com/"へのリンクを貼っていただけると嬉しいです。
//2005.1.10作成
//--------------------------------------------------------------------------------------------------------------------------------------------------------

var db = [
	["My HomePage","website.gif","Web Site","_blank"],["Delete","Del","",""],["[1]書く","write","",""],
	["[4]私書箱IDで書く","ID write","",""],	["[5]ノーマル言葉に戻す","Normal Words","",""],
	["[6]ログを表示","Log","",""],["[0]戻る","home.gif","HOME","_top"]
	]

function change(ar1,ar2){
	if(!ar2){
		var newnode = document.createTextNode(ar1);
		return newnode;
	}
	else {
		var gazo = document.createElement("img");
		gazo.setAttribute("src",ar1);
		gazo.setAttribute("alt",ar2);
		gazo.setAttribute("border","0");
		return gazo;
	}
}

window.onload=function(){

	if(!document.getElementsByTagName || !document.createTextNode) return;
	var d = document.getElementsByTagName('a');
	var dl=d.length,dbl=db.length,i,j;
	for(i=0;i<dl;i++){
		for(j=0;j<dbl;j++){
			if(d[i].firstChild.nodeName=="#text"&&d[i].firstChild.nodeValue==db[j][0]){
				val = change(db[j][1],db[j][2]);
				d[i].replaceChild(val,d[i].firstChild);
				if (db[j][3]) d[i].setAttribute("target",db[j][3]);
				break;
			}
		}
	}
}

サンプルです。今回はdocument.writeなしで作ってみました。

JSのソースサンプル
SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送