powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как корректно работать с getElementById ?
3 сообщений из 3, страница 1 из 1
Как корректно работать с getElementById ?
    #35181205
Softell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
  <title>TEST getID</title>
<style type="text/css">
#id1, #id2 {
  color: # 090 ;
  border: 1px solid black;
  width: 100px;
}
</style>
<script language="JavaScript" type="text/javascript">
function doGet() {
  alert("color is: "+document.getElementById("id1").style.color);
  alert("width is: "+document.getElementById("id1").style.width);
}
function doSet() {
  document.getElementById("id1").style.color = '#900';
  document.getElementById("id1").style.width =  200 ;
}
</script>
</head>

<body>
<b>
  <p id="id1" onclick="doGet();">GET</p>
  <p id="id2" onclick="doSet();">SET</p>
</b>
</body>

</html>

Имеем обычный HTML с элементами CSS. Готовый для теста.
Объясните, плз., как корректно работать с объектом документа через getElementById ?
Проблема: в теле HTML документа инициируется CSS блок, применяющий стили к элементам id=id1 и id2. При попытке обратиться через JavaScript к свойствам этих объектов (id1 как пример) получаю "null" (см. пример функция doGet(); инициируется при щелчке по тексту "GET"). Если же непосредственно через JavaScript назначить свойства объекта (функция doSet(); клик по тексту "SET"), то дальнейшее обращение к свойствам, как и предполагалось - выдает корректный результат.
Алгоритм моей проверки.
запуск HTML документа
клик по "GET" - color is: <ПУСТО> width is: <ПУСТО>
клик по "SET" (изменения ОЧЕВИДНЫЕ на форме)
клик по "GET" - color is: #900 width is: 200 (что и ожидалось в пункте 2., с соответствующими значениями).

========
- Почему так?
- Как корректно инициировать CSS в документе, чтобы не назначая свойства через JavaScript на этапе 2 уже получить данные?
...
Рейтинг: 0 / 0
Как корректно работать с getElementById ?
    #35181350
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы лпределили стиль. но у эелемента он пуст (наследуется от CSS по ID)

В ослике есть currentStyle и runtimeStyle.

Для других браузеров код более сложный (и св-ва задаются в виде border-top not borderTop)

var dv = document.defaultView;
s = dv.getComputedStyle(document.getElementById("id1"),'');
p = s.getPropertyValue('color');
...
Рейтинг: 0 / 0
Как корректно работать с getElementById ?
    #35181354
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, и выберите себе библиотеку поддержки.
Я использую x.js (cross-browser) - как наиболее всеядную
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как корректно работать с getElementById ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]