zoukankan      html  css  js  c++  java
  • [前端]IE不支持table中tr的name属性,使得document.getElementsByName不能获取到对应的tr元素

    问题描述:希望实现toggle效果(也称数据钻取),点击一下链接列表链接,展开此链接下的其他链接列表,再点击一下链接列表隐藏。实现办法有多种:一种是用jquery效果更丰富一些。另一种是直接CSS+Js。我用的是后一种方法。
    <html> 
    <head> 
    <script type="text/javascript"> 

    function getElements()
      {
      var x=document.getElementsByName("myInput");
      alert(x.length);
      }
    </script>
    </head>

    <body>
    <table>
    <tr name="myInput"><td></td></tr>
    <tr name="myInput"><td></td></tr>

    <tr name="myInput"><td></td></tr>
    <tr name="myInput"><td></td></tr>

    </table>
    <input name="myInput" type="text" size="20" /><br />
    <input name="myInput" type="text" size="20" /><br />
    <input name="myInput" type="text" size="20" /><br />
    <br />
    <input type="button" onclick="getElements()" value="名为 'myInput' 的元素有多少个?" />
    </body>

    </html>

    相似问题:http://stackoverflow.com/questions/2861341/cant-toggle-display-of-table-rows-in-ie-with-getelementsbyname

    结论:

    IE不支持table中tr的name属性,使得document.getElementsByName不能获取到对应的tr元素,仅可以使用document.getElementById获取。

    解决办法:

    1. 因此如果想获取一系列相同名称的tr只可以通过命名方式,使用document.getElementById遍历需要访问的元素。

    2. 直接不用table,全部改用div或者ul展示链接列表。

  • 相关阅读:
    jQuery选择器之层级选择器
    信息滚动制作
    scrollTop、offsetTop、clientTop
    模电GG
    matlab求解线性方程组
    NWERC2016I
    WEB开发资料集散
    NWERC2016H
    相量变换的性质
    GCJ2017R1C B. Parenting Partnering
  • 原文地址:https://www.cnblogs.com/wanping/p/2815113.html
Copyright © 2011-2022 走看看