Показать сообщение отдельно
  #1 (permalink)  
Старый 20.06.2010, 10:10
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

Получить список родительских элементов
Нужно написать функцию getParents, которая будет возвращать список всех родительских элементов и при надобности фильтровать их таким образом:

Element.getParents(function (a) {
	return a.className == 'myClass'; // Выбираем только элементы с классом myClass
});


Вот код функции:

Object.prototype.getParents = function (exception) {
	var tmp = [], r = (this instanceof Array ? this[0] : this).parentNode;
	while(r.parentNode) {
		tmp.push(r),
		r = r.parentNode;
	}
	if (exception) {
		var x = [];
		for (var i = 0; i < tmp.length; i++) {
			if (exception(tmp[i])) {
				x.push(tmp[i]);
			}
		}
		tmp = x;
	}
	return tmp;
};


При попытке отфильтровать возвращает пустой массив, почему?
Ответить с цитированием