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来使用
转载请注明原文地址: https://ju.6miu.com/read-1125990.html