<script language=javascript>
function secBoard(n,menuT,mainT,sec1T,sec2T)
{ for (i = 0; i < menuT.childNodes.length; i++) {
menuT.childNodes[i].className = sec1T;
menuT.childNodes[n].className = sec2T;
}
for (i = 0; i < mainT.childNodes.length; i++) {
mainT.childNodes[i].style.display = "none";
mainT.childNodes[n].style.display = "block";
}
}
</script>这段代码 是控制菜单的 显示隐藏的! IE下一切正常 火狐浏览器不行 帮忙看下 该如何修改
LZ请看这里http://bianbian.org/technology/21.html 看看是否是childNodes的问题2:
同2L所说, menuT是如何传入的? 如果是document.all.menuT的话 那么只有IE能支持. 在传入的时候请细写为document.getElementById("xxxx");
<div id="main">
<div>1</div>
</div>
document.getElementById("main").childNodes.length = 2;
因为“1”在火狐中是被当做一个文本节点要兼容最好使用jquery,下面代码没有测试,你可以试一下
function secBoard(n,menuT,mainT,sec1T,sec2T)
{
// 假设你的菜单标签是Div
var sMenuT = $(menuT).find("> div"); // 获取主菜单下的子元素,孙元素不会被获取到
$.each(sMenuT, function(){
$(this).attr("class", sec1T);
});
sMenuT[n].attr("class", sec2T);
var sMainT = $(mainT).find("> div");
$.each(sMainT, function(){
$(this).css("display", "none");
});
sMainT[n].css("display", "block");
}