Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Глюк JS + CSS


Автор: OlegNT 19.8.2006, 11:29
Код

<html>
<head>
<style>
TABLE.mytable
{
    height: 200px;
}
</style>
</head>
<body>

<table class="mytable" id="tbl">
<tr>
    <td>Text</td>
</tr>
</table>

<button onclick="javascript: alert(document.getElementById('tbl').style.height);">Button</button>

</body>
</html>


почему при нажатии на кнопку в сообщении пусто?

Автор: AlexST 19.8.2006, 13:18
Цитата(OlegNT @  19.8.2006,  11:29 Найти цитируемый пост)
почему при нажатии на кнопку в сообщении пусто? 
Потому что нечего возвращать.
getElementById - метод возвращает ссылку на первый элемент объекта с заданным именем (значением атрибута ID).

Автор: Vaulter 19.8.2006, 13:49
OlegNT, 
Код

<html>
<body>

<table class="mytable" id="tbl" style="height: 200px;">
<tr>
    <td>Text</td>
</tr>
</table>

<button onclick="javascript: alert(document.getElementById('tbl').style.height);">Button</button>

</body>
</html>


а вот так работает :/

Автор: korisarimi 19.8.2006, 14:14
Цитата

Потому что нечего возвращать.
getElementById - метод возвращает ссылку на первый элемент страницы с заданным именем (значением атрибута ID).


Не согласен, он же написал не document.getElementById('tbl'), а document.getElementById('tbl').style.height  ссылается на свойство элемента.

Автор: AlexST 19.8.2006, 14:49
Цитата(korisarimi @  19.8.2006,  14:14 Найти цитируемый пост)
ссылается на свойство элемента
которого нет  smile . Свойство height не наследуется. (т. е. необходимо явное определение, что подтверждает Vaulter). 
К тому же атрибут height в стандарте HTML 4.x отменен для таблиц, и вообще лучше им не пользоваться.

Автор: smartov 19.8.2006, 23:21
OlegNT, надо юзать так

Код

<button onclick="javascript: alert(document.getElementById('tbl').offsetHeight);">Button</button>

Автор: Sardar 20.8.2006, 02:32
AlexST, два поста, оба абсолютно ошибочны, читай внимательней. С первым всё ясно, со вторым, height непосредственно в аттрибутах тега отменили (наследние нетскейпа), в стилях же (style.height) наоборот активно пропагандируються (визуальный вид вообще только в стилях задавать, вёрстка для структуры).


OlegNT, как уже сказал smartov, пользуйся offset(Height|Width), как (по моему) альтернатива от IE, которую все стали поддерживать из-за непоняток с наследуемыми стилями.

Автор: AlexST 20.8.2006, 16:11
Sardar, я плохо выразился. Имею в виду то, что через обращение к стилю таблицы (style.height) значение высоты узнать не получается ("его невидно"). Дальше написал лишнее по невнимательности:
Цитата(Sardar @  20.8.2006,  02:32 Найти цитируемый пост)
 читай внимательней
 smile У самого были конкретные заморочки с height, пока ещё каша в голове  smile.

Согласен что 
Цитата(Sardar @  20.8.2006,  02:32 Найти цитируемый пост)
в стилях же (style.height) наоборот

Цитата(Sardar @  20.8.2006,  02:32 Найти цитируемый пост)
непоняток с наследуемыми стилями
точно!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)