Логин:

Пароль:

Форумы
Общие вопросы
Document Object Model
Обсуждаем конференцию
Web Usability (test)

Document Object Model

DHTML в IE4

Все знают, что с помощью JS организовывается динамическое
представление информации на HTML странице.
Новые броузеры поддерживают Dynamic Object Model(DOM).
Вот некоторые св-ва и методы DOM : getElementById, firstChild,lastChild,childNodes[index],createElement,appendChild,setAttribute,getAttribute
,
createAttribute(IE5 не подд.) и другие.
Это очень удобная модель документа, которая позволяет очень гибко изменять уже загруженную страницу, документ.
Но дело в том, что всё это работает, хоть и частично, но всё же только в IE5 и выше.Но ведь огромная часть интернета
использует ещё IE4, а то и IE3.Так вот, какая же имеется альтернатива тому, что я писал выше в IExplorer4?Как организовать гибкую работу с HTML элементами и их текстовыми узлами? Как,удалить какаой-нибудь узел, например
узел <a>Text</a>, со всеми его детками и как внедрить в имеющийся узел другой узел?Как всё это организовать в IE4?
Конечно в более новых версиях браузеров проблем нет :
RemoveChild(),RemoveNode - удаляют любые узлы в док-те
createElement(),createTextElement(),appendChild() - соответственно, создаёт узел-элемент, создаёт текстовый элемент и appendChild всё это дело добавляет в имеющийся узел.
Всё, в принципе этих методов хватает , чтобы манипулировать любыми объектами в документе!
Но, я повторюсь ещё раз, как всё тоже самое сделать в IE4?
Да, там есть dHTML методы : innerHTML,innerText,outerHTML,
outerText, но они позволяют лишь изменять уже существующие объекты, да и то как то непонятно - нельзя, например изменить текст в узле, явно ссылаясь на этот узел в JavaScript контейнере, вот например, допустим у нас есть
узел <div id="el">Text</div>, необходимо заменить Text, на Text2,
что мы должны делать? Как подсказывает здравый смысл, то естественно обратится к элементу по его ID, тоесть написать в контейнере <script>document.all.el.innerText='Text2';</script>
ан, нет! IE4 ругается и ссылается на неизвестную ему ошибку
0000008, если память не подвела...
Делаем по другому
<ahref="javascript:"onClick="this.innerText='Text2'">Text</a>, и о чудо, изменился! Стало быть делаешь одно и тоже, но только в разных местах, а результаты разные?!
Заранее всем благодарен, тем, кто выслушал весь этот бред , а особенно тем кто даст такое же подробное разъяснение по этому поводу!
СообщениеАвторДата
Алексей07.05.2002 14:38
Гость07.05.2002 14:53
Гость02.11.2002 14:03
ApTeM08.05.2002 19:04
бМЕЛУЕК зПТПИПЧ08.05.2002 22:11
Leechy08.05.2002 22:16
Алексей Г.09.05.2002 16:40
Гость07.05.2002 14:52