こんにちわ。
イヤはまったというか・・・JS苦手というか・・・
さて、今回タイトルにもあるとおり、
getElementsByClassNameメソッドに関してですが、
結論からいうとIEには利かないんですね。
知らなかったです。
何をしたかったかというと、
単純にsubmitボタンを押したら、押せないようにするというあれです。
簡単に行うとすると、submitのinputタグで、
onClick=”this.disabled = true;javascript:なんかの関数()”
とかにすればいいのですが、
これはあくまでsubmitボタンが1個の場合。
複数、それも動的に発生するボタンの場合で
かつ、特定のクラスのボタンだけ押せないようにするにはどうするのか・・・
上記のgetElementsByClassNameメソッドを
使えばいいじゃんという話になるのですが、
SafariやChrome、Firefoxに関しては各ブラウザが認識しても
IEでは認識しないというらしいのです。
じゃぁ、どうするか。
Classの認識がダメであれば、全タグの要素のリストを使うという方法。
getElementsByTagName(‘*’);
で、アスタリスクを使用するのがワンポイント。
var element_list=document.getElementsByTagName('*'); for (var i=0;i<element_list.length;i++){ if(element_list[i].className=='なんかのクラス名1' || element_list[i].className=='なんかのクラス名2'){ element_list[i].disabled=true; } }
これで一件落着。
他にライブラリーを入れてしまうこういう方法もあるようです。
やっぱりJS苦手だわ。