imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 16.11.2006, 11:16     # 1
chernikov
Junior Member
 
Регистрация: 16.03.2004
Сообщения: 170

chernikov Известность не заставит себя ждатьchernikov Известность не заставит себя ждать
XML & Javascript

Возник дурацкий вопрос...
Как сделать так, чтобы через javascript одинаково выводился xml для всех броузеров?

На данный момент заты произошел в таком месте.

menucode += "<div class='topmenu'><a href='" + menuItem.childNodes[1].childNodes[0].nodeValue + "'>" + menuItem.childNodes[1].childNodes[0].nodeValue + "</a></div>";

В IE все нормально выводится, а FIREFOX говорит, что
Error: menuItem has no properties
Source File: file:///C:/MyDoc/HTML/xmlmenu2.js
Line: 45
Как это исправить?
chernikov вне форума  
Старый 16.11.2006, 11:19     # 2
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
Мы должны догадаться как инициализируется menuitem?
RaZEr вне форума  
Старый 16.11.2006, 11:26     # 3
chernikov
Junior Member
 
Регистрация: 16.03.2004
Сообщения: 170

chernikov Известность не заставит себя ждатьchernikov Известность не заставит себя ждать
var data = xDoc.getElementsByTagName("topmenu")[0];
дальше в цикле идет.
var menuItem = data.getElementsByTagName("toplevel")[i];

И еще одну странность заметил. Когда пишешь
data.childNodes.length; - то IE определяет 5, что правильно, их там 5 штук, а FireFox - 11. Откуда он еще 6 берет?
chernikov вне форума  
Старый 16.11.2006, 11:39     # 4
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
Цитата:
var menuItem = data.getElementsByTagName("toplevel")[i];
...
Error: menuItem has no properties
Видимо getElementsByTagName не нашёл то, что искал.

Цитата:
Откуда он еще 6 берет?
IE не учитывает текстовые элементы состоящие из пробельных символов. Проверяй nodeType если хочешь чтобы были только узловые элементы.
RaZEr вне форума  
Старый 17.11.2006, 10:37     # 5
chernikov
Junior Member
 
Регистрация: 16.03.2004
Сообщения: 170

chernikov Известность не заставит себя ждатьchernikov Известность не заставит себя ждать
Цитата:
Видимо getElementsByTagName не нашёл то, что искал.
Он как раз все находит. А вот потом вложенные - не увсех выискивает.
А с проверкой на nodeType - на первом уровне все проверяется замечательно, а вот остальные 7 уровней вложенности - не очень.
Проблему решил как раз тем, что ко всем элементам обращаюсь по getElementsByTagName. Не правильно это, но с другой стороны - структура будет жесткая... Новых уровней вложенности добавляться не будет.
chernikov вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 23:17.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.