繁体   English   中英

隐藏除一个以外的所有div并切换该一个

[英]hide all divs except one and toggle that one

<div class='logolink' data-msg='msg01'>lorem ipsum</div>
<div class='logolink' data-msg='msg02'>lorem ipsum</div>
<div class='logolink' data-msg='msg03'>lorem ipsum</div>

<div class='msgt' id='msg01'>lorem ipsum</div>
<div class='msgt' id='msg02'>lorem ipsum</div>
<div class='msgt' id='msg03'>lorem ipsum</div>

.msgt隐藏。
我想要的东西,例如,如果单击第一个logolink
-隐藏除msgt以外的所有msg01
-如果msg01可见-将其隐藏-反之亦然。

JS

$('.logolink').click(function(){
    var a = $(this).data('msg');
    var b = $('#' + a);
    $('.msgt:not(b)').hide();
    b.toggle();
});

不起作用

在这种情况下,您可以使用.not函数,

$('.logolink').click(function(){
    var a = $(this).data('msg');
    var b = $('#' + a);
    $('.msgt').not(b).hide();
    b.toggle();
});

由于b是一个jquery对象,因此无法沿字符串传递。

$('.logolink').click(function() {
    var $item = $('#' + $(this).data('msg');
    $item.toggle();
    $item.siblings().hide();
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM