| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Как передать элемент в функцию после createElement |
| Автор: OlegNT 22.6.2008, 20:29 | ||||
В объекте dropdown есть метод:
И в сторонке есть еще один код:
Метод .highlightItem сообщает, что аргумент item не определен. В чем проблема? В том, что после appendChild созданное с помощью document.createElement('li') становится неопределенным? Тогда как решить проблему? |
| Автор: Itsys 22.6.2008, 21:26 |
| Сначала создать объект, сделать appendChild, получить на него ссылку (getElementById либо через ирархию dropdown.ul) и затем уже dropdown.LIs[i] присваивать эту ссылку и в конце определять обработчик onmouseover |
| Автор: OlegNT 22.6.2008, 21:37 | ||
Все равно item is null |
| Автор: OlegNT 22.6.2008, 22:35 | ||||||
Проблема оказалась вот в чем:
— этот код используется в цикле. Перед циклом объявлено
Последняя строчка в теле цикла:
В итоге в функции dropdown.highlightItem передается аргумент «dropdown.title + '_li_' + i», где i — конечное значение, т.е. количество элементов LI (кол-во итераций цикла) плюс один. Ествественно, такого элемента нет, поэтому getElementById() возвращает null. Как передать в функцию ТЕКУЩЕЕ значение параметра i ? |
| Автор: Itsys 23.6.2008, 00:31 | ||||
при создании элемента
потом
|
| Автор: OlegNT 23.6.2008, 00:35 |
| Спасибо огромное! Вопрос решен. |