Неправильная ширина div при получении с помощью JavaScript - PullRequest
4 голосов
/ 09 марта 2011

Я пытаюсь получить ширину div с помощью JavaScript.Первоначально ширина div не определена, то есть ширина зависит от количества текста на нем.Можно ли получить ширину такого вида div?Я пытаюсь сделать это с помощью следующего кода javascript, но я получаю разницу ширины от консоли Chrome, когда я проверяю div

var mydiv = document.getElementById("error_message");
var curr_width = mydiv.clientWidth;
alert(curr_width);

Спасибо за ваше внимание

Ответы [ 3 ]

6 голосов
/ 09 марта 2011

использовать offsetWidth

clientWidth рассчитывается по ширине, offsetWidth - это единица в "Chrome inspect element" (я думаю)

также читайте комментарии: P

1 голос
/ 09 марта 2011

Несмотря на то, что в OP не указан тот или иной путь, если у вас есть jQuery, вы всегда можете использовать это:

var curr_width = $('#error_message').width();
0 голосов
/ 09 марта 2011

Мне удалось решить проблему! Я пытался создать div непосредственно в JavaScript, не определяя div в теле HTML. Итак, внутри тега, который я создал

<div id="error_message" style="visibility:hidden;"></div>

и все заработало! Окончательный код JavaScript:

document.write("<div id=\"error_message\">Wrong username or password!</div>");
var mydiv = document.getElementById("error_message");
var curr_width = mydiv.offsetWidth;
alert(curr_width);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...