Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.03.2010, 19:24
Новичок на форуме
Отправить личное сообщение для cepreu4 Посмотреть профиль Найти все сообщения от cepreu4
 
Регистрация: 01.03.2010
Сообщений: 3

Opera отказывается работать с DOM
Десятая Опера (10.1, 10.5 бета). Отказывается работать с элементами документа вообще. Самый простой код:
element = document.getElementById('id')
element.property = value

приводит к ошибке. Опера не может сконвертировать element в объект.
Самое странное, что document.all работает.
Тестирую на локальном сервере, пакет Denwer, на системе Windows Vista.
Перелопатил весь интернет, незнаю в чём проблема.
Заранее благодарен.
Ответить с цитированием
  #2 (permalink)  
Старый 01.03.2010, 19:42
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 09.07.2008
Сообщений: 3,873

покажите пример
Ответить с цитированием
  #3 (permalink)  
Старый 01.03.2010, 23:12
Новичок на форуме
Отправить личное сообщение для cepreu4 Посмотреть профиль Найти все сообщения от cepreu4
 
Регистрация: 01.03.2010
Сообщений: 3

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script language="javascript" type="text/javascript" defer="defer">
          alert (document.getElementsByTagName("DIV").item(0));
</script>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251" />
<title>Тестовый заезд</title>
</head>

<body>
<div id="id" style="border:solid 1px black; display:table;">Something</div>
</body>
</html>


alert показывает "null"
P.S. Сейчас выяснилось, что и в FF тоже по какой-то причине.
Ответить с цитированием
  #4 (permalink)  
Старый 01.03.2010, 23:19
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 09.07.2008
Сообщений: 3,873

Все правильно. defer поддерживают не все браузеры, а только IE и новые версии Firefox, поэтому вы ищите элементы до того, как они появляется в документе, соответственно получаете null.
Ответить с цитированием
  #5 (permalink)  
Старый 01.03.2010, 23:19
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 03.04.2008
Сообщений: 6,234

DIV еще не существует на момент вызова скрипта
либо разместите код скрипта после DIV-а, либо вызывайте его после события загрузки DOM-а - DOMContentLoad, либо по window.onload
Ответить с цитированием
  #6 (permalink)  
Старый 01.03.2010, 23:37
Новичок на форуме
Отправить личное сообщение для cepreu4 Посмотреть профиль Найти все сообщения от cepreu4
 
Регистрация: 01.03.2010
Сообщений: 3

Блин! Сколько ж я голову поломал над этим! Спасибо приогромнейшее!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Все-таки Opera -- мудацкий браузер Kolyaj Общие вопросы Javascript 27 29.10.2009 22:43
opera mobile demi Opera, Safari и др. 4 11.02.2009 10:22
Сохранение дерева DOM в файл Александр1985 Общие вопросы Javascript 7 24.01.2009 22:15
iframe.contentWindow.postMessage в Opera 9.5 ivlad Events/DOM/Window 3 30.09.2008 13:54
Не возвращается XML-ответ в Opera после AJAX-запроса Yojik Общие вопросы Javascript 4 17.03.2008 04:56