您的位置:首页 > 其它

IE 中document.getElementsByName

2016-08-25 16:30 323 查看
IE 中使用 document.getElementsByName 与 Firefox 中的不同。

对于 A、APPLET、BUTTON、FORM、FRAME、IFRAME、IMG、INPUT、OBJECT、MAP、META、PARAM、TEXTAREA、SELECT 元素

IE 的 document.getElementsByName(e) 会获取 name 属性值为 e 的元素,同时也会获取 id 属性值为 e 的元素。

对于其他元素

IE 的 document.getElementsByName(e) 只会获取 id 属性值为 e 的元素。

 

替代方法

function $tagByAttribute(tag,attr,value){
return Moogens.Utilities.arrayMap($TagN(tag||'*'),function(el,i){
return el.getAttribute(attr) == value ? el : null;
});
}

在IE中还有一个特殊点就是:IE中div和table等元素没有name属性,使用document.getElementsByName。得不到任何值,切记!

解决办法:

  1、元素命名id和name在一个页面中最好都不要相同(避免IE混淆id和name的bug)

  2、div和table等元素结合id和document.getElementsByTagName来使用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: