为了账号安全,请及时绑定邮箱和手机立即绑定

IE7中的getElementsByName

IE7中的getElementsByName

千万里不及你 2019-11-04 09:27:50
我有一些代码这样做: var changes = document.getElementsByName(from); for (var c=0; c<changes.length; c++) {   var ch = changes[c];   var current = new String(ch.innerHTML);   etc. }这在FF和Chrome中工作正常,但在IE7中则不能。大概是因为getElementsByName在IE中无法使用。最好的解决方法是什么?
查看完整描述

3 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

有几个问题:


IE确实id=""与name=""

name="" 不允许 <span>

要修复,我建议:


更改name=""为class=""

像这样更改代码:

--


var changes = document.getElementById('text').getElementsByTagName('span');

for (var c=0; c<changes.length; c++) {

 var ch = changes[c];


 if (ch.className != from)

continue;


 var current = new String(ch.innerHTML);


查看完整回答
反对 回复 2019-11-04
?
慕姐4208626

TA贡献1852条经验 获得超7个赞

我已经成功使用包装器返回了元素数组。也可以在IE 6和7中使用。请记住,它不是100%与document.getElementsByName完全相同,因为它不是NodeList。但是对于我所需要的,就是在元素数组上运行一个for循环以完成诸如set .disabled = true的简单操作,它已经足够好了。


即使此函数仍使用getElementsByName,但以这种方式使用也可以工作。你自己看。


function getElementsByNameWrapper(name) {

  a = new Array();


  for (var i = 0; i < document.getElementsByName(name).length; ++i) {

    a.push(document.getElementsByName(name)[i]);

  }


  return a;

}


查看完整回答
反对 回复 2019-11-04
  • 3 回答
  • 0 关注
  • 423 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信