2013-08-19 76 views
4

我有一个JS函数,得到一个div的宽度我的网页上:的Javascript offsetWidth返回undefined

function getWidth() { 
    var container = document.getElementsByClassName('tag'); 
    var message = "The width of the contents width padding: " + container.width + "px.\n"; 
    alert(message); 
} 

功能不运行,直到页面加载:

<body onload="getWidth()"> 

而div在CSS中定义为百分比,最大宽度为900px,这就是输出结果。但相反,我收到此警报:

The width of the contents width padding: undefinedpx. 

我环顾四周寻找答案,但看起来应该是这样的工作。任何它不起作用的原因?

回答

7

getElementsByClassName返回节点的集合。

你的行为就像它是一个。

您需要选择索引。

var container = document.getElementsByClassName('tag')[0]; 
+0

啊!完善。我对JS很陌生,错过了那部分。谢谢。 – chazbot7