IE 中使用 document.getElementsByName 注意事项及解决办法

作者:vkvi 来源:ITPOW(原创) 日期:2010-5-18

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 的元素。

解决办法

IE 的这个特性让我们很恼火,实际使用中,要实现这个效果,我们可使用替代方法:

var es = document.getElementsByTagName("*");
for(var i = 0; i < es.length; i++)
{
    if(es[i].getAttribute("name") == name)
    {
        //
    }
}

通过 getElementsByTagName 来实现 getElementsByName。

相关文章