在Javascript中这个getElementsByClassName调用有什么问题?

时间:2010-08-02 21:10:38

标签: javascript

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

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

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

 document.getElementsByClassName(tab_panel).style.width

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

4 个答案:

答案 0 :(得分:14)

这是一个字符串:

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

再见

P.S。这是一个数组

答案 1 :(得分:3)

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

如果您搜索的节点没有内联样式=“width:”赋值,则会从document.getElementsByClassName("tab_panel")[0].style.width返回一个空字符串。

答案 2 :(得分:2)

缺少 引用

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

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

var elms = document.getElementsByClassName('tab_panel');

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

答案 3 :(得分:1)

试着说:

document.getElementsByClassName("tab_panel")