2010-02-20 167 views
1

这是一个菜单树的JavaScript函数。我想在其中添加更多的子菜单,而不仅仅是一个子菜单。什么是x.all[0]x.all[2]JavaScript折叠菜单树

var head="display:''" 
img1=new Image() 
img1.src="fold.gif" 
img2=new Image() 
img2.src="open.gif" 

function change(){ 
if(!document.all) 
return 
if (event.srcElement.id=="folding"){ 
var x=event.srcElement.parentElement 
if (x.all[2].style.display=="none"){ 
x.all[0].src="open.gif" 
x.all[2].style.display='' 
alert(x.all[2].name) 
} 
else{ 
x.all[0].src="fold.gif" 
x.all[2].style.display="none" 
} 

} 
document.onclick=change 
+0

感谢Darin进行编辑。 您是手编辑还是使用编辑器? – Ahmed 2010-02-20 10:42:40

回答

0

all是属于特定元素的子元素的集合。 document.all返回文档的所有元素。这是一个IE浏览器唯一的功能,并不会在其他浏览器工作。

在你的代码,xevent.srcElement.parentElement,所以它的all财产将所有属于该父元素的子元素。 [0]将返回集合中的第一个元素,[2]将返回集合中的第三个元素。

如前所述,此代码仅适用于Internet Explorer,因此如果您希望更好地实现浏览器兼容性,则应该探索其他跨浏览器方法以实现您正在尝试执行的操作。

+0

谢谢你的回答。 艾哈迈德。 – Ahmed 2010-02-20 10:44:06