如何动态的获取层的id

yundiego 2003-08-20 12:14:39
我想动态的命名一个层的id,然后在另一个层调用这个层的style属性,控制他的显示,可是这个动态引用老是出错。请各位高手指教。源文件如下:

<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
</HEAD>
<script language=javascript>

function is_display(n,k)
{
var mylayer="mylayer" ;
mylayer+=n.toString();
mylayer+=k.toString();
mylayer.style.display=(mylayer.style.display=='none'?'':'none');
//mylayer00.style.display=(mylayer00.style.display=='none'?'':'none');
//如果写成上面这样就可以正常的实现层的显示隐藏,不过我的设想是子层的
//命名是动态的而不是固定值
}

function aa(ss)
{
alert(ss);
}

function xx()
{
var layerText="";
var n=0;
var k=0;

layerText+="<div id=mylayer style='color:blue;cursor:hand;' onclick='javascript:is_display("+n+","+k+")'>";
layerText+="sub1";//主菜单
layerText+="</div><br>";

layerText+="<div id=mylayer"+n.toString()+k.toString();
layerText+=" style='color:yellow;display:none;'>";
layerText+="<table>";
layerText+="<tr>"+"sub1"+"</tr>";
layerText+="<tr>"+"sub2"+"</tr>";
layerText+="</table>";
layerText+="</div>";
return layerText;
}


</script>
<BODY>
<script>
var a;
a=xx();
document.write (a);

</script>
</BODY>
</HTML>
...全文
52 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
bencalie 2003-08-20
  • 打赏
  • 举报
回复
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
</HEAD>
<script language=javascript>

function is_display(n,k)
{
var mylayer="mylayer" ;
mylayer+=n.toString();
mylayer+=k.toString();
mylayer = eval(mylayer); //这里这句很关键,把字符串转成对象
mylayer.style.display=(mylayer.style.display=='none'?'':'none');
//mylayer00.style.display=(mylayer00.style.display=='none'?'':'none');
//如果写成上面这样就可以正常的实现层的显示隐藏,不过我的设想是子层的
//命名是动态的而不是固定值
}

function aa(ss)
{
alert(ss);
}

function xx()
{
var layerText="";
var n=0;
var k=0;

layerText+="<div id=mylayer style='color:blue;cursor:hand;' onclick='javascript:is_display("+n+","+k+")'>";
layerText+="sub1";//主菜单
layerText+="</div><br>";

layerText+="<div id=mylayer"+n.toString()+k.toString();
layerText+=" style='color:yellow;display:none;'>";
layerText+="<table>";
layerText+="<tr>"+"sub1"+"</tr>";
layerText+="<tr>"+"sub2"+"</tr>";
layerText+="</table>";
layerText+="</div>";
return layerText;
}


</script>
<BODY>
<script>
var a;
a=xx();
document.write(a);

</script>
</BODY>
</HTML>
yundiego 2003-08-20
  • 打赏
  • 举报
回复
偶知道就是想不起这句语法,谢谢兄台了。给分!

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧