Опредилить высоту таблицы
Как определить высоту таблицы созданой в JS в определённом <div id="tablica">
document.getElementById('tablica').height - не подходит. Очень надо. |
искать нужно уссерднее
Измерения окна, документа и элементов |
document.getElementById('tablica').offsetHeight
|
При document.getElementById('tablica').offsetHeight
Хм, alert возвращает ноль. Я посмотрел код с FireBud и он показал что teblica не имеет значения hight. Возможно поэтому я и получаю ноль. Но если есть таблица значит где-то должны быть и её данные?? |
неужели это заметил только я?
вы сейчас у чего пытаетесь выяснить высоту? явно не у таблицы. а у содержащего ее дива(да, бывает такое что див меньше, чем содержащиеся в нем элементы) document.getElementById('tablica').getElementsByTagName('table')[0].offsetHeight |
Вложений: 1
У меня посложнее будет ситуация.
Сверху можно увидить что стоит в div="tablica" но в нём оказывается не таблица а полныв полно других дивов. А команда document.getElementById('tablica').getElementsByTagName('table')[0].offsetHeight выдаёт ошибку . Как получить полный размер дива? |
в зависимости от того, как вы используете CSS ваш див может быть размеом меньше, чем элементы содержащиеся в нем.
попробуйте например посчитать сумму всех дочерних элементов. если не получится, приложите в атаче образец вашей странички для теста. потому что телепатически можно долго гадать, что у вас там происходит. |
Вы мне предлогаете пощитать "на пальцах" или с помощью программы(функции)?
Таблица каждый раз разных размеров поэтому "на пальцах" щитать бесполезно. А как пощитать дочерние элементоы понятия не имею. |
почитайте раздел статей, где говорится про DOM
а вот так примерно будет выглядеть "посчитать" elem=document.getElementById('tablica') _offsetHeight=0; children=elem.childNodes for(i=0,s=children.length;i<s;i++) { if(children[i].nodeType==1)//только потомки-теги.без чисто текстовых нод { _offsetHeight+=children[i].offsetHeight;//суммируем } } alert(_offsetHeight); извините что без ворматирования.набирал прямо тут только может не сработать, если потомки страдают той же "болезнью", что и родитель, то есть имеют меньший размер, чем содержимое. все зависит от вашего CSS. но, в принципе описанное действие можно проводить рекурсивно. кжется так и делают в jQuery |
Gvozd,
издеваешься чтоли? Это вообще не будет работать в большинстве случаев. |
Часовой пояс GMT +3, время: 23:13. |