Javascript offsetWidth возвращает неопределенный

У меня есть функция JS, которая получает ширину div на моей странице:

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.

Я искал ответ, но похоже, что это должно работать. Любая причина, почему это не работает?

1 ответ

Решение

getElementsByClassName возвращает коллекцию узлов.

Вы ведете себя так, как будто он один.

Вам нужно будет выбрать индекс.

var container = document.getElementsByClassName('tag')[0];
Другие вопросы по тегам