用js怎么控制控制显示与隐藏啊

<li><ahref="#">大类一</a></li><liclass="erji_menu"><ahref="#">小类一</a></li><liclass="erji... <li><a href="#">大类一</a></li>

<li class="erji_menu"><a href="#">小类一</a></li>
<li class="erji_menu"><a href="#">小类二</a></li>
<li class="erji_menu"><a href="#">小类三</a></li>
<li class="erji_menu"><a href="#">小类四</a></li>

<li><a href="#">大类二</a></li>

<li class="erji_menu"><a href="#">小类五</a></li>
<li class="erji_menu"><a href="#">小类六</a></li>
<li class="erji_menu"><a href="#">小类七</a></li>
<li class="erji_menu"><a href="#">小类八</a></li>

现在我只想显示大类,点击哪个大类后就显示这个大类下面的小类,再次点击就隐藏这个大类下面的小类
还有,这个大类和小类是通过循环获取的,下面还有好几个大类和小类,怎么用JS控制小类的显示互隐藏啊
展开
 我来答
育知同创教育
2018-06-27 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部

利用来JS控制页面控件显示和隐藏有两种方法,两种方法分别利用HTML的style中的两个属性,两种方法的不同之处在于控件隐藏后是否还在页面上占空位。

方法一:

document.getElementById("EleId").style.visibility="hidden";'设置EleId标签隐藏
document.getElementById("EleId").style.visibility="visible";设置EleId标签显示

利用上述方法实现隐藏后,页面的位置还被控件占用,显示空白。

定义和用法

visibility 属性设置元素是否可见。


方法二:

document.getElementById("EleId").style.display="none";设置EleId标签隐藏
document.getElementById("EleId").style.display="inline";设置EleId标签显示

利用上述方法实现隐藏后,页面的位置不被占用。

定义和用法

display 属性设置元素如何显示。

树惠心32
推荐于2017-09-16 · TA获得超过105个赞
知道小有建树答主
回答量:124
采纳率:66%
帮助的人:53.6万
展开全部

html代码:

<div id='div' style="display:none;">123123</div>
<input type="button" id="btn" value="显示" />

javascript代码:

var div = document.getElementById('div'); //进行显示/隐藏的区域
var btn = document.getElementById('btn'); //控制按钮 
var txt;
btn.onclick = function (){
txt = this.value;
    if(txt==='显示'){
    div.style.display = 'block';
    this.value = '隐藏';
    }else{
    div.style.display = 'none';
    this.value = '显示';
    }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yujianshenbing
2012-08-07 · TA获得超过281个赞
知道答主
回答量:89
采纳率:0%
帮助的人:144万
展开全部
你这逻辑有问题,为什么大类和小类的li标签在同一级呢?这样做不是不可以,而是结构不够语义化,建议改为:

<li><a href="#">大类一</a>
<ul>
<li class="erji_menu"><a href="#">小类一</a></li>
<li class="erji_menu"><a href="#">小类二</a></li>
<li class="erji_menu"><a href="#">小类三</a></li>
<li class="erji_menu"><a href="#">小类四</a></li>
</ul>
</li>

<li><a href="#">大类二</a>
<ul>

<li class="erji_menu"><a href="#">小类五</a></li>
<li class="erji_menu"><a href="#">小类六</a></li>
<li class="erji_menu"><a href="#">小类七</a></li>
<li class="erji_menu"><a href="#">小类八</a></li>
</ul>

</li>

实现的方式大概就是点击大类的li标签,查找子标签ul并显示,用jQuery实现:
$('li:not(.erji_menu)').click(function() {
$(this).find('ul').toggle();
});
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
erhsh
2012-08-06 · TA获得超过164个赞
知道答主
回答量:71
采纳率:0%
帮助的人:54.8万
展开全部
自己写js实现比较麻烦,

有先人已经为我们写好的库,找些例子学一下,很方便的。

参考例子:
http://berndmatzner.de/jquery/hoveraccordion/
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Yorhom_H_Wang
推荐于2017-09-30 · 超过22用户采纳过TA的回答
知道答主
回答量:84
采纳率:0%
帮助的人:69.4万
展开全部
我把一些主要代码给你,剩下的自己做吧
<div id="xxx">
<li><a href="#">大类一</a></li>

<li class="erji_menu"><a href="#">小类一</a></li>
<li class="erji_menu"><a href="#">小类二</a></li>
<li class="erji_menu"><a href="#">小类三</a></li>
<li class="erji_menu"><a href="#">小类四</a></li>

<li><a href="#">大类二</a></li>

<li class="erji_menu"><a href="#">小类五</a></li>
<li class="erji_menu"><a href="#">小类六</a></li>
<li class="erji_menu"><a href="#">小类七</a></li>
<li class="erji_menu"><a href="#">小类八</a></li>
</div>
<input type="button" value="隐藏" onclick="xxx()">
<script>
function xxx(){
document.getElementById("xxx").style.display="none";

}

参考资料: 自己

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式