javascript の getElementsByName メソッドを使って、指定したnameのオブジェクトリストを取得できるということになっているけど、Firefox2とIE6では少々動作が異なることに気が付いた。
具体的には、IE6の場合には特定のオブジェクト以外からは取得できないらしい。
具体的には、IE6の場合には特定のオブジェクト以外からは取得できないらしい。
<html>上記サンプルでは h3name というnameが付けられたオブジェクトのフォントカラーを赤に変更する という動作をするが、IE6で実行した場合にはフォントカラーが赤に変化しない。 おそらく、ラジオボタンしか取得できないのだろう。ちなみにFirefox2の場合には正常に変化する。
<head>
<script type="text/javascript">
function firstload(){
h3nameObj = document.getElementsByName('h3name');
for(i=0;i<h3nameObj.length;i++){
h3nameObj[i].style.color='red';
}
}
</script>
</head>
<body onload="firstload()">
<div>
<h3 name="h3name">1</h3>
h3name
<h3 name="h3name">2</h3>
h3name
<h3>3</h3>
no name
<h3 name="h3name">4</h3>
h3name
<h3 name="h3name">5</h3>
h3name
</div>
</body>
</html>
200802180015追記:
IE7とOpera9.23でもIE6と同じ現象を確認。どうやらFirefox2が特殊なようだ?
あと、scriptでエラーが出る個所を修正。
- 関連記事
-
- 動画関係計算機 (2008/02/18)
- DOM getElementsByName のIE6での動作 (2008/02/17)
- CSSのプレビュー・取得 (2008/02/04)
Comment
Trackback
http://nekomimya.blog28.fc2.com/tb.php/35-5420d43b