jquery - 折叠已展开的 div

标签 jquery css

我试图在某些 div 上进行展开和折叠。但我无法让它发挥作用。我的问题是,如果元素已经展开,它不会在点击时折叠。

jQuery:

$(document).ready(function(){
$(".employee").click( function() {  
    $(".employeeInfo").hide();   
if ($(this).children(".employeeInfo").css('display') == 'none') {        
    $(this).children(".employeeInfo").show();
} else {    
       $(this).children(".employeeInfo").hide(); 
}   });})

HTML:

<div class="employee">name
<div class="employeeInfo">info etc.</div></div>

<div class="employee">name
<div class="employeeInfo">info etc.</div>

CSS:

div { 
width: 400px; 
margin-bottom: 20px; 
margin-left: 5px; 
cursor: pointer; }

div.employee{ 
background: #ccc; }

div.employeeInfo { 
margin-left: 5px; 
display: none; }

我认为问题出在这一行:

if ($(this).children(".employeeInfo").css('display') == 'none') {

最佳答案

试试这个

$(".employee").click( function() {  
    $(this).children(".employeeInfo").toggle();   
});

http://api.jquery.com/toggle/

关于jquery - 折叠已展开的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30002166/

相关文章:

jquery - 当我选择一个元素进行拖动时,可排序元素会向上移动

javascript - 全日历 : Duplicates on agendaWeek view

html - 使用 CSS 从左到右填充文本颜色

javascript - 慢动作与 jQuery

html - img 表现得像背景图片?

javascript - 对仅获取拉丁字母的输入进行验证

javascript - 在 JavaScript 中将一系列 DOMNodeInserted 事件作为单个事件处理

javascript - PubNub channelGroup.forEach 不是函数

css - 在 Pre 标签中包装一个 DIv

html - 透明 div 内的非透明 iframe