zoukankan      html  css  js  c++  java
  • IE6.0中getElementsByName和getElementById的bug

    IE6.0getElementsByName()getElementById() bug

     

    1document.getElementsByName(name)

     

    IE6.0中的bug

        会将id等于给定的name值的元素也返回。

     

    <script type="text/javascript">

    function getCount(){

      var objs=document.getElementsByName("myElement");

      alert(objs.length);

    }

    </script>

    <button id="button1" name="button1" onclick="getCount()">click me</button>

     

    <a id="myElement" name="aLink" href="http://www.baidu.com">baidu</a>

    <input id="btn1" name="myElement" value="button 1" type="button" />

    <input id="btn2" name="myElement" value="button 2" type="button" />

    <input id="btn3" name="myElement" value="button 3" type="button" />

     

    结果:4

    原因:IE6.0错误的将<a id="myElement">元素也返回了。

    解决办法:一个元素的name属性值千万不要和其他任何元素的id值相同。此处建议讲<a>id值改为其他值。

     

     

     

    2 document.getElementById(id)

     

    IE6.0中的bug

        如果给定的id匹配某个元素的name属性,IE6.0会错误返回这个元素(前提是该元素位于我们查找的目标元素之前)

     

    示例:

    <script type="text/javascript">

    function getEle(){

      var obj=document.getElementById("myElement");

      alert(obj.id);

    }

    </script>

     

    <button id="button1" name="myElement" onclick="getEle()">click me</button>

    <a id="myElement" name="aLink" href="http://www.baidu.com">baidu</a>

     

    结果:button1

    原因:button1name值恰好等于给定的id值,且button1a元素之前,IE6.0错误的返回了button1

    解决办法:一个元素的name属性值千万不要和其他任何元素的id值相同。

     

    改变一下buttona的位置,如下:

    <script type="text/javascript">

    function getEle(){

      var obj=document.getElementById("myElement");

      alert(obj.id);

    }

    </script>

     

    <a id="myElement" name="aLink" href="http://www.baidu.com">baidu</a>

    <button id="button1" name="myElement" onclick="getEle()">click me</button>

     

    结果:myElement

    原因:IE6.0首先找到idmyElementa元素,找到后立即就返回了。


    word版:

    IE6.0中getElementsByName和getElementById的bug.rar
  • 相关阅读:
    supervisor 3.0a81 安装失败
    nginx使用HttpImageFilterModule
    docky模式下背景不透明
    一堆DLL中找一个类
    Python中序列化处理之——marshal和cPickle篇
    Mercurial host fingerprint warning
    Python中时间的处理之——tzinfo篇
    ServiceStack.Redis的问题与修正
    Python中时间的处理之——datetime篇
    Rdesktop 1.6.0 and Windows Server 2008 SP2
  • 原文地址:https://www.cnblogs.com/peach/p/1380606.html
Copyright © 2011-2022 走看看