Получить переменную высоту div и посадить var в другой селектор css

Гении, это возможно? Пожалуйста, помогите, так как мой javascript jQuery плохой.

Мне нужно получить высоту div, который создается динамически (поэтому по умолчанию имеет автоматическую высоту) - динамический контент твита также генерируется javascript, который, я надеюсь, не вызывает проблем.

Смотрите мой динамический div...

<div id="tweet-area"></div>

Затем мне нужно поместить высоту div#tweet-area в сценарий ниже...

$("#sidebar-wrapper").css({ bottom: " + variable here + " });

Итак, это была моя попытка, но она не совсем работает...

var tweetheight = document.getElementById('tweet-area').offsetHeight;

$("#sidebar-wrapper").css({ bottom: " + tweetheight + " });

Любой совет будет очень полезен, спасибо.

Джош


ОБНОВЛЕНИЕ

Это скрипт, который работает - загружается после скрипта твита

var tweetheight = $("#tweet-area").height();
$("#sidebar-wrapper").css({ bottom: tweetheight});

Спасибо вам всем!


person Joshc    schedule 17.11.2011    source источник
comment
не работает до сих пор? Хотя я не знал, что ты можешь написать это так коротко. Я вижу, что это должно работать.   -  person Joshc    schedule 17.11.2011
comment
Также обратите внимание, что вы должны запустить его после того, как ваша область #tweet будет заполнена (твитами).   -  person Stefan    schedule 17.11.2011
comment
Выполняете ли вы это ПОСЛЕ добавления области твитов в DOM? Также твит находится внутри области твита: слева (или справа?). Если это так, вам нужно выполнить очистку. Возможно, вам все равно придется сделать это.   -  person kasdega    schedule 17.11.2011
comment
Спасибо, это работает - я добавил скрипт после того, как область твитов была добавлена ​​​​в DOM. Спасибо за все полезные советы!   -  person Joshc    schedule 17.11.2011


Ответы (2)


может быть, $("#sidebar-wrapper").css("bottom", tweetheight); сделал бы это?

var tweetheight = $("#tweet-area").height();

Работал для меня при получении высоты элемента ^

person DevDave    schedule 17.11.2011
comment
Это тоже работает, но если я зайду в свой css и добавлю нижнюю высоту к #sidebar-wrapper, это сработает :-/ - person Joshc; 17.11.2011
comment
спасибо получилось красота!!!! хороший чувак! - я предполагаю, что getElementById - это javascript и короткая высота jQuery :-) - person Joshc; 17.11.2011

Почему вы заключаете имя переменной в кавычки? Это делает его строкой. Попробуй это:

var tweetheight = document.getElementById('tweet-area').offsetHeight;
$("#sidebar-wrapper").css({ bottom: tweetheight});

Однако я бы рекомендовал не использовать jQuery без необходимости. Свойства CSS можно легко изменить без jQuery следующим образом:

document.getElementById('sidebar-wrapper').style.bottom = tweetheight + 'px';
person Some Guy    schedule 17.11.2011
comment
Да, это были речевые знаки, плохой синтаксис - спасибо за помощь, чувак - person Joshc; 17.11.2011