![]() |
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 Как это исправить? |
Мы должны догадаться как инициализируется menuitem?
|
var data = xDoc.getElementsByTagName("topmenu")[0];
дальше в цикле идет. var menuItem = data.getElementsByTagName("toplevel")[i]; И еще одну странность заметил. Когда пишешь data.childNodes.length; - то IE определяет 5, что правильно, их там 5 штук, а FireFox - 11. Откуда он еще 6 берет? |
Цитата:
Цитата:
|
Цитата:
А с проверкой на nodeType - на первом уровне все проверяется замечательно, а вот остальные 7 уровней вложенности - не очень. Проблему решил как раз тем, что ко всем элементам обращаюсь по getElementsByTagName. Не правильно это, но с другой стороны - структура будет жесткая... Новых уровней вложенности добавляться не будет. |
| Часовой пояс GMT +4, время: 22:08. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.