2015-02-09 165 views
-2

我想让一个div切换其可见性,当一个按钮被点击。目前我可以隐藏div,但我很难再次看到它。隐藏/显示一个DIV

function unhide(divID) { 
//var item = document.getElementById(divID); 
//if (item) { 
// item.className = (item.className == 'hidden') ? 'unhidden' : 'hidden'; 
// $('#SearchParParams').toggle() 
//} 
var group = $('.group'), 
target = group.filter('#' + divID); 

if (target.className =='group hidden') { 
    group.removeClass('unhidden').addClass('hidden'); 
    target.addClass('unhidden').removeClass('hidden'); 
    target.length == 0; 
} 
if (target.className == 'group unhidden') { 
    group.removeClass('hidden').addClass('unhidden'); 
    target.addClass('hidden').removeClass('hidden'); 
    target.length = 1; 
} 

//$('#SearchAddParams,#SearchParParams').click(function() { 
// $('#SearchParParams, #SearchAddParams').toggle(); 
//}); 
} 

回答

2

我想你太努力了。如果你想显示和隐藏onClick元素,你可以使用toggle()。

//When you click this button 
$('button').click(function(){ 
//Show or hide this div, depending on its state 
    $('div').toggle(); 
}); 

DEMO

+0

,但我想的到的信息首先被隐藏,因为这是绑成三个搜索是不同的,会为这个隐藏元素的工作? – 2015-02-09 22:59:15

+0

您可以使用CSS或JS将元素设置为隐藏。例如'div {display:none;}' – 2015-02-09 23:00:33

+0

如果你想控制隐藏它与css(即'visibility:hidden'),你也可以使用'$('div')。toggleClass('hidden');'to只需切换一个类。 – JustH 2015-02-10 01:54:28

1

更改您的代码

if (target.className == 'group unhidden') { 
 
    group.removeClass('hidden').addClass('unhidden'); 
 
    target.addClass('hidden').removeClass('unhidden'); 
 
    target.length = 1; 
 
}

不知道是否能解决此问题,但这种变化肯定需要作出。