Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery/javascript:添加else语句?_Javascript_Jquery - Fatal编程技术网

jquery/javascript:添加else语句?

jquery/javascript:添加else语句?,javascript,jquery,Javascript,Jquery,我试图在这段javascript中添加一个else语句,这样如果单击div-1,它就会显示div-2,如果再次单击div-1,它就会隐藏div-2 有人知道我怎么做吗 $(函数(){ $('.div-1')。单击(函数(){ $('.div-2').show(); 返回false; }); }); 请尝试: 您可以添加一个伪类并检查它是否存在 $(function() { $('.div-1').click(function() { var $this = $

我试图在这段javascript中添加一个else语句,这样如果单击
div-1
,它就会显示
div-2
,如果再次单击
div-1
,它就会隐藏
div-2

有人知道我怎么做吗

$(函数(){
$('.div-1')。单击(函数(){
$('.div-2').show();
返回false;
});        
});
请尝试:


您可以添加一个伪类并检查它是否存在

$(function() {
   $('.div-1').click(function() {
       var $this = $(this),
           $div2 = $('.div-2');
       if($this.hasClass('open')) {
            $this.removeClass(open');
            $div2.hide();
       } else {
            $this.addClass(open');
            $div2.show();
       }
       return false;
   });        
});

我完全同意Jason p的观点,您应该改为使用,但如果您确实需要使用
if语句
,您可以这样做:

$('.div-1')。单击(函数(){
如果($('.div-2')。是(':visible')){
$('.div-2').hide();
}否则{
$('.div-2').show();
}
返回false;
});

谢谢你这么做,还有没有一种方法我可以添加一个语句来说明什么时候不对焦,也可以隐藏?你可以试试
blur
事件。您还可以向文档添加一个单击处理程序,如果blur不起作用,该处理程序将隐藏div。
$(function() {
   $('.div-1').click(function() {
       var $this = $(this),
           $div2 = $('.div-2');
       if($this.hasClass('open')) {
            $this.removeClass(open');
            $div2.hide();
       } else {
            $this.addClass(open');
            $div2.show();
       }
       return false;
   });        
});