IE中getElementsByName()对有些元素无效的解决方案
2014-09-29来源:易贤网

代码如下:

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代码段:

?123456789 ...... <logic:iterate id='t' name='dataList' > <tr class='list'> ...... <td class='normal'><span name='tbc'>${t.LOWAREATS_TBC }</span></td> ...... </tr> </logic:iterate> ......

javascript 代码段:

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

更多信息请查看IT技术专栏

2025公考·省考培训课程试听预约报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
推荐信息