Показать сообщение отдельно
  #2 (permalink)  
Старый 20.06.2010, 10:32
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

все работает. может у вас на элементах навешано более одного класса, и поэтому они не попадают в итоговый массив?
<html>
<head>
<script type="text/javascript">
window.onload=function(){
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;
};
var q=document.getElementById('q').getParents(function (a) { 
    return a.tagName == 'BODY'; // Выбираем только элементы с классом myClass 
});
alert(q);
}
</script>
</head>
<body>
<div id="q" ></div>


</body>
</html>
Ответить с цитированием