IE 中document.getElementsByName

    xiaoxiao2022-06-30  50

    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

    最新回复(0)