JavaScriptでファイル毎にclass名を書き換える

| コメント(0) | トラックバック(0)

メニューのロールオーバーをCSSで書いてて、全ページ共通のテンプレートにしてたりすると、自ファイルへのリンクはロールオーバーしないようにしたいけど手作業で直すとあとあと大変だったりする…よね?
JavaScriptで自ファイル名を取得して、ロールオーバーのclass名を書き換えてしまうと楽ちん~かな?

a.htmlファイルとb.htmlファイルがあるとして、それぞれsmenu1をsmenu1a、smenu2をsmenu2aに自動で変更。

window.onload=function(){
 var url = document.location.href;
 var sa = url.split("/");
 var name = sa[sa.length-1];
 if(name=="a.html"){
   var tags=document.getElementsByTagName("a");
   for(var i=0;i<tags.length;i++){
    if(tags[i].className=="smenu1") tags[i].className="smenu1a";
   }
 }
 if(name=="b.html"){
   var tags=document.getElementsByTagName("a");
   for(var i=0;i<tags.length;i++){
    if(tags[i].className=="smenu2") tags[i].className="smenu2a";
   }
 }
}

こんなので多分大丈夫。だと思う(弱気)

トラックバック(0)

トラックバックURL: http://webtips.weblog.am/webtips_mt/mt-tb.cgi/22

コメントする

このブログ記事について

このページは、きえが2009年7月26日 22:32に書いたブログ記事です。

ひとつ前のブログ記事は「ファイル毎に別の外部スタイルシートを適用する」です。

次のブログ記事は「重いソフトの起動を速くする」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。