Показать сообщение отдельно
  #1 (permalink)  
Старый 09.04.2008, 15:30
Профессор
Отправить личное сообщение для lancer Посмотреть профиль Найти все сообщения от lancer
 
Регистрация: 30.01.2008
Сообщений: 230

IE6 и parentNode.parentNode
Во всех бразуерах пункты меню открывается, в IE нет. Так стало после того как я положил головной пункт в <h2>
и соответственно в скрипте стал подниматься на одного родителя выше: parentNode.parentNode.childNodes[2], а не как раньше parentNode.childNodes[2]. Очевидно, что в IE до скрипта дело доходит, но условия if не выполняются. В нижней панели в левом углул в IE написано: ошибка на странице.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title>Error in IE</title>
	
	<style type="text/css">
		#openingMenu li ul{display:none;}
	</style>
	
	<script type="text/javascript">
		function uler()
		{
			if(this.parentNode.parentNode.childNodes[2].style.display=="none" || this.parentNode.parentNode.childNodes[2].style.display=="")
			{
				this.style.fontWeight="bold";
				this.parentNode.parentNode.childNodes[2].style.display="block";
			}
			else
			{
				this.style.fontWeight="normal";
				this.parentNode.parentNode.childNodes[2].style.display="none";
			}
		}	
	</script>

</head>

<body>
	<ul id="openingMenu">
		<li><h2><a href="#" onclick="uler.apply(this,[]); return false">Скважины водоснабжения</a></h2>
			<ul>
				<li><a href='#'>Пункт номер 1</a></li>
				<li><a href='#'>Пункт номер 2</a></li>
				<li><a href='#'>Пункт номер 3</a></li>
			</ul>
		</li>

        <li><h2><a href="#" onclick="uler.apply(this,[]); return false">Установки</a></h2>
			<ul>
				<li><a href='#'>Пункт номер 1</a></li>
				<li><a href='#'>Пункт номер 2</a></li>
				<li><a href='#'>Пункт номер 3</a></li>
			</ul>
	    </li>
	</ul>			
</body>
</html>

Последний раз редактировалось lancer, 09.04.2008 в 15:34.
Ответить с цитированием