Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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
Javascript 使用jQuery show()/hide()_Javascript_Jquery_Html - Fatal编程技术网

Javascript 使用jQuery show()/hide()

Javascript 使用jQuery show()/hide(),javascript,jquery,html,Javascript,Jquery,Html,我在我的jsp页面中使用了show()和hide(),它工作得很好,但我很难找到一种方法来隐藏显示后的表。HTML示例: <button id="b1">show 1</button> <button id="b2">show 2</button> <div class="hidden" id="d1"> <div class="hidden" id="d2"> 所以这很好,一次只显示一个,但是我想添加一些脚本,如果显示d

我在我的jsp页面中使用了
show()
hide()
,它工作得很好,但我很难找到一种方法来隐藏显示后的表。HTML示例:

<button id="b1">show 1</button>
<button id="b2">show 2</button>
<div class="hidden" id="d1">
<div class="hidden" id="d2">
所以这很好,一次只显示一个,但是我想添加一些脚本,如果显示
div2
,我可以点击
按钮2
,使
div2
隐藏,对
div1
也一样。我知道这让人困惑,所以如果你有任何问题,请提问。谢谢。

有一个
toggle()
方法,您可以使用它来代替显示/隐藏,这将为您完成此操作

没有参数,.toggle()方法只需切换可见性 构成要素:

来源:

有一个
toggle()
方法,您可以使用它来代替显示/隐藏,这将为您完成此操作

没有参数,.toggle()方法只需切换可见性 构成要素:

来源:

我想你想要这个:

$('#b1').click(function(){
    $('#d1').toggle();
});

$('#b2').click(function(){
    $('#d2').toggle();
});
如果您仍然需要这样做,只有一个可以显示,那么可能是这样的:

$('#b1').click(function(){
    if($('#d1').toggle().is(":visible")){
       $('#d2').hide();
    }
});

$('#b2').click(function(){
    if($('#d2').toggle().is(":visible")){
       $('#d1').hide();
    }
});
$("#b1, #b2").click(function() { $("#d1, d2").toggleClass("hidden") })
我想你想要这个:

$('#b1').click(function(){
    $('#d1').toggle();
});

$('#b2').click(function(){
    $('#d2').toggle();
});
如果您仍然需要这样做,只有一个可以显示,那么可能是这样的:

$('#b1').click(function(){
    if($('#d1').toggle().is(":visible")){
       $('#d2').hide();
    }
});

$('#b2').click(function(){
    if($('#d2').toggle().is(":visible")){
       $('#d1').hide();
    }
});
$("#b1, #b2").click(function() { $("#d1, d2").toggleClass("hidden") })

你可以通过这个
$('#someDiv:visible')
检查一些东西是否可见,然后进行适当的处理。

你可以通过这个
$('#someDiv:visible')
检查一些东西是否可见,然后进行适当的处理。

我想你需要这个

  $('#b1').click(function(){
    $('#d1').toggle();
  });

  $('#b2').click(function(){
    $('#d2').toggle();
  });
$('#b1').click(function(){
    $('#d2').hide();
     $('#d1').toggle();
});

$('#b2').click(function(){
     $('#d1').hide();
     $('#d2').toggle();

});
我想你需要这个

$('#b1').click(function(){
    $('#d2').hide();
     $('#d1').toggle();
});

$('#b2').click(function(){
     $('#d1').hide();
     $('#d2').toggle();

});

如果您不使用任何动画,那么在css中定义一个类(例如,.hidden{display:“none”})并切换它可能更有用

因此,您的代码可以是这样的:

$('#b1').click(function(){
    if($('#d1').toggle().is(":visible")){
       $('#d2').hide();
    }
});

$('#b2').click(function(){
    if($('#d2').toggle().is(":visible")){
       $('#d1').hide();
    }
});
$("#b1, #b2").click(function() { $("#d1, d2").toggleClass("hidden") })

如果你想试试这个,告诉我们它是否有效)

如果你不使用任何动画,那么在css中定义一个类可能更有用,比如,.hidden{display:“none”}并切换它

因此,您的代码可以是这样的:

$('#b1').click(function(){
    if($('#d1').toggle().is(":visible")){
       $('#d2').hide();
    }
});

$('#b2').click(function(){
    if($('#d2').toggle().is(":visible")){
       $('#d1').hide();
    }
});
$("#b1, #b2").click(function() { $("#d1, d2").toggleClass("hidden") })

如果你愿意,试试这个,告诉我们它是否有效)

你不需要检查任何东西,只需切换第一个,并始终隐藏另一个

$('#b1').click(function(){
    $('#d1').toggle();
    $('#d2').hide();
});

$('#b2').click(function(){
    $('#d2').toggle();
    $('#d1').hide();
});

您不需要检查任何内容,只需切换第一个,并始终隐藏另一个

$('#b1').click(function(){
    $('#d1').toggle();
    $('#d2').hide();
});

$('#b2').click(function(){
    $('#d2').toggle();
    $('#d1').hide();
});

我不清楚问题出在哪里。听起来你发布的脚本符合你的要求。如果你能明确你遇到的问题是什么?如果你想显示一个而隐藏另一个。然后你应该研究一下如何使用切换。你在找切换吗?如果我使用toggle,它将同时显示这两个选项,我正试图避免这种情况,我想我现在已经解决了,谢谢!我不清楚问题出在哪里。听起来你发布的脚本符合你的要求。如果你能明确你遇到的问题是什么?如果你想显示一个而隐藏另一个。然后你应该研究一下如何使用切换。你在找切换吗?如果我使用toggle,它将同时显示这两个选项,我正试图避免这种情况,我想我现在已经解决了,谢谢!啊,这么简单。很好用,谢谢。当允许的时候会标记为答案啊,很简单。很好用,谢谢。如果允许,将标记为答案