Javascript offsetWidth returning undefined
javascript, offsetwidth
Solution
getElementsByClassName returns a collection of nodes.
You are acting like it is one.
You would need to select the index.
var container = document.getElementsByClassName('tag')[0];
Problem
I have a JS function that gets the width of a div on my page: ``` function getWidth() { var container = document.getElementsByClassName('tag'); var message = "The width of the contents width padding: " + container.width + "px.\n"; alert(message); } ``` The function doesn't run until page is loaded: ``` <body onload="getWidth()"> ``` And the div is defined in CSS as a percentage, with a max-width of 900px, which is what the output should be. But instead, I'm getting this alert: ``` The width of the contents width padding: undefinedpx. ``` I've looked around for an answer, but it looks like this should be work. Any reason why it's not working?