IEでgetElementsByName()が一部の要素に対して無効な解決策

1067 ワード

 
  
document.getElementsByName('someName') ( )

注意:IEの下にはname属性がないノードもありますが、documentを使用します.getElementsByNameでは入手できません.次のtagにのみnameプロパティがあります.
A, APPLET, attribute, BUTTON, EMBED, FORM, IMG, INPUT type=button, INPUT type=checkbox, INPUT type=file, INPUT type=hidden, INPUT type=image, INPUT type=password, INPUT type=radio, INPUT type=reset, INPUT type=submit, INPUT type=text, LINK, MAP, OBJECT, RT, RUBY, SELECT, TEXTAREA
他にはありませんdiv、spanなど
代替案:前提:取得したノード配列のTagNameが一致すると仮定します.(一般的には、取得されたノード配列内のノードが異なるTagから来ることも少ない)JSPコードセグメント:

......

 
......
${t.LOWAREATS_TBC }
......


......


JAvascriptコードセグメント:

...... 
var tbcList = document.getElementsByTagName('span');
for(var i = 0; i < tbcList.length ; i++) {
if(tbcList[i].name != 'tbc' ) continue;
//...... 
} 
......