Логин:

Пароль:

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

Общие вопросы

Определение наличия объекта

> Как можно проверить наличие в документе определенного объекта? В моем случае: есть документ с кучей div-ов, имеющих id "menu01" - "menuxx". Количество этих div-ов неизвестно. Мне нужно определить, какой номер последнего.

Если Все Это Генерится Серверным Скриптом, То Неплохо Бы, Чтобы Он В Явном Виде Отдавал Куда-Нибудь (В Переменную JavaScript, Например) Количество Div'ов. Это Самый Прямой Способ Потому Что Сервер, Скорее Всего, И Так Уже Знает Их Количество.
Если Же Так Не Выходит, То Все Эти Div'ы Можно Перебрать И На Клиенте:

Выражение Container.getEleemntsByTagName('DIV') Дает Тебе Массив Всех Div'ов Внутри Некоего Container'а - Объекта, Который Их Всех Содержит. В Самом Общем Случае Таким Контейнером Может Быть Просто Весь document:

var DivCount=0;
with(document.getElementsByTagNames('DIV'))
for(var i=0;i<childNodes.length;i++)
if(item(i).id.match(/^menu\d\d/))
DivCount++;

Это Медленный Способ. Потому Что Тебе Приходится Делать Два Перебора, Один Медленней Другого. Более Быстрый Способ Перебора - Использовать Стандартные TreeWalker Или NodeIterator (http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113/traversal.html#Traversal-overview), Однако, Кажется, Что Эта Вкусная Вещь Не Работает В Многими Любимом Браузере Internet Explorer.

> Ну или проще - хотя бы банально проверить, существует ли, к примеру, div с id="menu17".

document.getElementById('menu17') Даст Тебе Либо null Либо Объект.
СообщениеАвторДата
Reaper01.12.2002 12:58
Leechy03.12.2002 17:15
Maniac01.12.2002 23:59