Javascript! document.ids

Обсуждение вопросов клиентского программирования.

Модератор: Duncon

Ответить
dykzei
Сообщения: 42
Зарегистрирован: 22 сен 2004, 14:35

не работаетв IE,Opera такая штука:

...
<script>
document.ids.MYID.color="#FF0000";
</script>
</head>
<body>
<font id="MYID">WOOF</font>
...

что не так, подскажите?
Аватара пользователя
Oscar
Сообщения: 963
Зарегистрирован: 29 май 2004, 13:44
Откуда: Мюнхен (рожден в Киеве)
Контактная информация:

dykzei,

Во-первых, я бы использовал:
documtn.getElementById('MYID')

Но, думаю, проблема не в том.

В приведенном примере JS выполняется в head, то есть раньше, чем построено тело документа,
что означает, что элемент с id='MYID' ещё не известен.

Я бы советовал сделать примерно так:

Код: Выделить всё

...
<script>
function setColor() {
//document.ids.MYID.color="#FF0000";
document.getElementById('MYID').color="#FF0000";
}
</script>
</head>
<body onLoad="setColor()">
<font id="MYID">WOOF</font>
... 
Старшие IE должны понимать функцию getElementById, по поводу Opera - не знаю.
dykzei
Сообщения: 42
Зарегистрирован: 22 сен 2004, 14:35

ок..а document.ids(а также tags, classes, etc) это из какой серии? ведь иногда хочется и класс переколбасить...

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

Код: Выделить всё

<html>
<head>
</head>
<body>
<font ID="MYID">WOOF</font>
</body>
</html>

<SCRIPT lang=JavaScript>
function sC(){
	//document.ids.MYID.color="00FF00";
	document.getElementById("MYID").style.color="00FF00";
}

sC();
</SCRIPT>
а при втором варианте, опера на консоль ошибок JS выбрасывает вот это... IE молчит, но не работает тоже

Код: Выделить всё

Inline script thread
Error:
name: TypeError
message: Statement on line 3: Could not convert undefined or null to object
Backtrace:
  Line 3 of inline#1 script in file://localhost/D:/game.htm
    document.ids.MYID.color = "00FF00";
  Line 7 of inline#1 script in file://localhost/D:/game.htm
    sC();
dykzei
Сообщения: 42
Зарегистрирован: 22 сен 2004, 14:35

эх...нашел обьяснения, вот http://www.stopbadtherapy.com/standards.shtml
dykzei
Сообщения: 42
Зарегистрирован: 22 сен 2004, 14:35

вобщем выводы - качаем DOM 1, 2 и т.д... и не используем DOM 0 :-/
Ответить