【问题标题】:What is wrong with this getElementsByClassName call in Javascript? [duplicate]Javascript 中的这个 getElementsByClassName 调用有什么问题? [复制]
【发布时间】:2010-08-02 21:10:37
【问题描述】:

我正在尝试访问要放入 cookie 的 div 的宽度。这是 div:

 <div class="tab_panel" style="width:600px">

它是唯一具有此类名称的 div。为 div 指定唯一 ID 不是一个选项。这是我在一个事件中用来调用它的代码,但它给出了一个错误:

 document.getElementsByClassName(tab_panel).style.width

我知道 Firefox 支持getElementsByClassName,那我做错了什么?

【问题讨论】:

    标签: javascript


    【解决方案1】:

    这是一个字符串:

    document.getElementsByClassName("tab_panel")[0].style.width
    

    再见

    附:这是一个数组

    【讨论】:

    • 这是一个真正帮助我的答案。谢谢。
    【解决方案2】:

    document.getElementsByClassName("tab_panel") 返回一个节点集合,其中第一个由document.getElementsByClassName("tab_panel")[0] 引用。

    如果您正在搜索的节点没有 inline style="width:' 赋值,则从document.getElementsByClassName("tab_panel")[0].style.width 返回一个空字符串。

    【讨论】:

      【解决方案3】:

      缺少引号

      document.getElementsByClassName('tab_panel').....
      

      你应该像这样遍历所有元素:

      var elms = document.getElementsByClassName('tab_panel');
      
      for(var i = 0 ; i < elms.length; i++)
      {
         alert(elms[i].style.width);
      }
      

      【讨论】:

        【解决方案4】:

        试着说:

        document.getElementsByClassName("tab_panel")
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-06-17
          • 1970-01-01
          • 1970-01-01
          • 2015-03-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-02-06
          相关资源
          最近更新 更多