怎么用JS循环实现隐藏与显示ul

<divclass="box"id="box"><divclass="box_tit"><aclass="cur"href="javascript:void(0)">标题... <div class="box" id="box">
<div class="box_tit">
<a class="cur" href="javascript:void(0)">标题1</a>
<a href="javascript:void(0)">标题2</a>
<a href="javascript:void(0)">标题3</a>
</div>
<ul>
<li><a href="##">111111</a></li>
</ul>
<ul style="display:none;">
<li><a href="##">222222</a></li>
</ul>
<ul style="display:none;">
<li><a href="##">333333</a></li>
</ul>
</div>
<script>
var divs=document.getElementById("box");
var divv=divs.getElementsByTagName("div")[0];
var bt=divv.getElementsByTagName("a");
var uls=divs.getElementsByTagName("ul");
for(var i=0;i<3;i++){
bt[i].onclick=function(){
var uls=divs.getElementsByTagName("ul");
}
}
</script>
这里uls[i]是返回的是undefined,我想让这个循环让uls可以用要怎么办呢效果是想点击标题显示相应的ul,其他两个隐藏,用循环来做的,但是这个uls[i]拿不到,求援助
uls[i]能取值的话就可以写判断语句了,关键是这个uls[i]为什么不能用呢
展开
 我来答
learneroner
高粉答主

推荐于2018-05-10 · 关注我不会让你失望
知道大有可为答主
回答量:1.1万
采纳率:91%
帮助的人:6567万
展开全部

设置元素的display属性可以控制其显示与隐藏:block表示显示,none表示隐藏,关键代码:

obj.style.display = "block" ["none"];

实例演示——点击标题控制相应ul的显示和隐藏状态

1、HTML结构

<div id="test">
<a href="#" name="a1">title-1</a><a href="#" name="a2">title-2</a><a href="#" name="a3">title-3</a>
<ul id="ul_a1"><li>title-1-list-1</li><li>title-1-list-2</li><li>title-1-list-3</li></ul>
<ul id="ul_a2" style="display:none;"><li>title-2-list-1</li><li>title-2-list-2</li><li>title-2-list-3</li></ul>
<ul id="ul_a3" style="display:none;"><li>title-3-list-1</li><li>title-3-list-2</li><li>title-3-list-3</li></ul>
</div>

2、javascript代码

window.onload = function(){
var title = document.getElementById("test").getElementsByTagName("a");
var ul = document.getElementById("test").getElementsByTagName("ul");
for(i=0;i<title.length;i++){
title[i].onclick = function(){
for(j=0;j<ul.length;j++){
ul[j].style.display = "none";
}
document.getElementById("ul_"+this.name).style.display = "block";
}
}

}

3、效果演示

chouyou
推荐于2016-06-12 · TA获得超过140个赞
知道小有建树答主
回答量:246
采纳率:0%
帮助的人:120万
展开全部

<div class="box" id="box">

<div class="box_tit">

<a class="cur" href="javascript:void(0)">标题1</a>

<a href="javascript:void(0)">标题2</a>

<a href="javascript:void(0)">标题3</a>

</div>

<ul>

<li><a href="##">111111</a></li>

</ul>

<ul style="display:none;">

<li><a href="##">222222</a></li>

</ul>

<ul style="display:none;">

<li><a href="##">333333</a></li>

</ul>

</div>

<script>

function dd(myObject) {  

                var s = "";  

                for (var property in myObject) {  

                s = s + "\n "+property +": " + myObject[property] +"<br>";  

                }  

                return s;  

        }; 

var divs=document.getElementById("box");

var divv=divs.getElementsByTagName("div")[0];

var bt=divv.getElementsByTagName("a");

var uls=divs.getElementsByTagName("ul");

for(var i=0;i<3;i++){

bt[i].onclick=function(){

var uls=divs.getElementsByTagName("ul");

alert(dd(uls));

}

}

</script>

没问题啊

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式