Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.03.2009, 18:43
User
 
Сообщений: n/a

глючит функция
Нужно подправить функцию:
function getSettings(el) {
		return $(el).parents('ul.jd_menu_flag_root')[0].$settings;
	}

Вызывается она так:
var settings = getSettings(this);
Браузер ругается "есть null или не является объектом", но далее выполняет.
Заранее спасибо.

Последний раз редактировалось Андрей Параничев, 22.03.2009 в 16:44. Причина: Пользуйтесь bb-тегами [js] и [html] для оформления листингов кода в теле сообщения
Ответить с цитированием
  #2 (permalink)  
Старый 21.03.2009, 19:04
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,245

во первых для фреймворков есть отдельный раздел форума. туда и надо было писать

во вторых: откуда ваша функция вызывается?вы хоть знаете что такое this? чему оно равно в момент вызова?
подозреваю, что вызывается функция из глобального контекста, и this поэтому равен window
соответственно для window-а никаких parent-ов быть не может, поэтому и null
вызывайте функция с параметром указывающим на какой-то DOM-элемент, например из обработчика события.
Ответить с цитированием
  #3 (permalink)  
Старый 23.03.2009, 04:49
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Цитата:
для window-а никаких parent'ов быть не может
может, каждому frame'у соответствует свой объект window
Ответить с цитированием
  #4 (permalink)  
Старый 23.03.2009, 07:48
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,245

x-yuri,
я скорее высказал предположение.
я не сильно уверено владею jQuery
но насколько я помню большинство функций в нем ориентированы на работу с DOM, а не с объектной системой.
в таком контексте логично предположить, что parents возвращает множество нодов-предков.
а что в контексте объектной иеархии по вашему должна возвращать эта функция?какой из множеста объекто имеющих window iframe-а своим свойством.особенно учитывая, что таких parents-ов мы можем наделать сколько угодно, и в JS нету никакой возможности отследить всех.
точно также нельзя отследить прототип кросбраузерно для объекта.
поэтому подозреваю, что все-таки функция предназначена для DOM-элементов, и не должна возвращать для window что-либо
PS все-таки глянул документацию.в общем мое предположение работы функции оказалось верным
Ответить с цитированием
  #5 (permalink)  
Старый 23.03.2009, 17:55
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Gvozd, ну я твои слова буквально воспринял: "для window-а никаких parent'ов быть не может" и решил поправить ;-)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция movelayer () kotjke Общие вопросы Javascript 5 24.02.2009 17:44
document.body.removeChild() глючит в Опере kvl Opera, Safari и др. 15 17.12.2008 11:55
Не работает функция Destrifer Элементы интерфейса 8 07.12.2008 01:34
DreamWeaver глючит. SunYang Общие вопросы Javascript 11 04.06.2008 12:18
Функция oncklick и ее использование Fobos Общие вопросы Javascript 3 23.05.2008 14:04