satocchiaブログ

satocchiaブログ

PR

×

キーワードサーチ

▼キーワード検索

カレンダー

コメント新着

tomoZo@ Re:Pale Moon日本語化トラブル(06/06) はじめまして。 28.16.0でまたもや提供さ…
satocchia @ Re[1]:Pale Moon日本語化トラブル(06/06) zui_9さんへ 本日、確認しました。ようや…
zui_9 @ Re:Pale Moon日本語化トラブル(06/06) 上記リンク「Githubのプロジェクト」の左…
わたなべ@ Re:powershellコンソール、見づらくありませんか?(08/26) 初めまして、この情報最高です! 背景を白…
y__@ Re:uwscでGUIフォーム(05/12) UWSC 仮掲示板から飛んできました。 HTAで…
2016.04.20
XML
カテゴリ: HTML

HTAではまったのでメモ。ラジオボタンをDOM生成していると、getElementsByNameで取得できないらしい。以下、検証コード


<body>

<input type="radio" name="radio">

<script type="text/javascript">

var r1=document.createElement( 'input' );

var r2=document.createElement( 'input' );

var r3=document.createElement( 'input' );

r1.type='radio'

r2.type='radio'

r3.type='radio'

r1.name='radio'

r2.name='radio'

r3.name='radio'

document.body.appendChild( r1 )

document.body.appendChild( r2 )

document.body.appendChild( r3 )

alert( 'input要素数は' + document.getElementsByTagName( 'input' ).length )

alert( 'name属性がradioである要素数は' + document.getElementsByName( 'radio' ).length )

alert( '自作関数で数えると' + getRadios( 'radio' ).length )

function getRadios( name ){

varret=[];

varinputs=document.getElementsByTagName( 'input' )

for( var i = 0, len = inputs.length; i < len; i++ ){

if ( inputs[ i ].type != 'radio' ){ continue; }

if ( inputs[ i ].name != name ){ continue; }

ret.push( inputs[ i ] ); 

}

returnret;

}

</script>

</body>


1個はHTMLに記述、3個をDOMで生成してるんだけれど、走らせると二番目のアラートで「name属性がradioである要素数は1」となってしまう。

仕方ないんで自作関数でしのいでいたのですが、 

<meta http-equiv="X-UA-Compatible" content="IE=8" />

の一行を追加すると正常動作になりました。IE7以前の仕様(?)だったんですね。 






お気に入りの記事を「いいね!」で応援しよう

最終更新日  2016.04.20 06:25:48
コメント(0) | コメントを書く


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Design a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: