webdeveloper a écrit :
The code works in Firefox, and the menu shows up & hides, but IE6 gives
this error, despite that it's supposed to support the 'parentNode'
property. What could it be?
I don't know about IE (Win)
but all examples bellow work fine in my browsers.
Your method :
<li><a href="11.htm" onclick="
var submenu = this.parentNode.childNodes[2].style;
submenu.display = submenu.display==''? 'none' : '';
return false;
">page 11</a>
<ul>
<li><a href="11a.htm">page 11-a</a></li>
<li><a href="11b.htm">page 11-b</a></li>
</ul>
</li>
My method :
<li><a href="11.htm" onclick="
var submenu = this.parentNode.getElementsByTagName('ul')[0].style;
submenu.display = submenu.display==''? 'none' : '';
return false;
">page 11</a>
<ul>
<li><a href="11a.htm">page 11-a</a></li>
<li><a href="11b.htm">page 11-b</a></li>
</ul>
</li>
Much more complicated :
<li><a href="11.htm" onclick="
var parentMenu = this.parentNode;
while(parentMenu.tagName.toLowerCase()!=('li'))
parentMenu += parentNode;
var submenu = parentMenu.childNodes;
for(var i=0; i<submenu.length; i++)
if(submenu[i].tagName &&
submenu[i].tagName.toLowerCase()=='ul') {
submenu = submenu[i].style
submenu.display = submenu.display==''? 'none' : '';
}
return false;
">page 11</a>
<ul>
<li><a href="11a.htm">page 11-a</a></li>
<li><a href="11b.htm">page 11-b</a></li>
</ul>
</li>
--
Stephane Moriaux et son (moins) vieux Mac déjà dépassé
Stephane Moriaux and his (less) old Mac already out of date