Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/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 隐藏类的所有实例,但单击的一个类的id除外_Jquery_Html - Fatal编程技术网

Jquery 隐藏类的所有实例,但单击的一个类的id除外

Jquery 隐藏类的所有实例,但单击的一个类的id除外,jquery,html,Jquery,Html,我的HTML设置如下 <div id="A" class="square channels blue">A</div> <div id="B" class="square channels blue">B</div> <div id="C" class="square channels blue">C</div> 现在我要做的是隐藏通道类的所有其他实例,但显示,即不隐藏所选的实例。换句话说,隐藏类通道的所有实例,单击的实例

我的HTML设置如下

<div id="A" class="square channels blue">A</div>
<div id="B" class="square channels blue">B</div>
<div id="C" class="square channels blue">C</div>
现在我要做的是隐藏通道类的所有其他实例,但显示,即不隐藏所选的实例。换句话说,隐藏类通道的所有实例,单击的实例除外

这显然不起作用,但不确定如何做到:

$('.channels').click(function() {
    $('.channels').hide();
   $(this.id).show();
    });
我觉得这个

$("#" + this.id).show();
会有用的。

我想这个

$("#" + this.id).show();
会有用的。

你可以这样做

$('.channels').click(function() {
    $('.channels').hide();
   $("#"+$(this).id).show();
    });
如果没有,它将不会使用id。

您可以这样做

$('.channels').click(function() {
    $('.channels').hide();
   $("#"+$(this).id).show();
    });

如果没有,它将不使用id。

即使此解决方案也可以工作

$('.channels').click(function() {
   $('.channels').hide();
   $(this).show();
});

即使这个解决方案也会奏效

$('.channels').click(function() {
   $('.channels').hide();
   $(this).show();
});
您可以使用.not选择器:

$('.channels').on('click', function(e) {
    $('.channels').not(this).hide();
});
例如:

$'.channels'。单击,函数E{ $'.channels'.notthis.hide; }; A. B C您可以使用.not选择器:

$('.channels').on('click', function(e) {
    $('.channels').not(this).hide();
});
例如:

$'.channels'。单击,函数E{ $'.channels'.notthis.hide; }; A. B
CHadn甚至一点也没有想到这一点!我喜欢这一个。我最喜欢这个解决方案,因为隐藏所有内容,然后显示单击的内容似乎有点不雅观。我甚至没有想到这一点!我喜欢这个。我最喜欢这个解决方案,因为隐藏所有内容,然后显示单击的内容似乎有点不雅观。我不明白为什么要使用构造$+$this.id。为什么不在其他例子中这样做呢?还有一个好处是元素不需要id。解决方案不需要id。但他需要知道自己犯了什么错误。@AnilM谢谢……额外的见解很有帮助。我不知道我可以只做$this我不明白为什么要使用构造$+$this.id。为什么不在其他例子中这样做呢?还有一个好处是元素不需要id。解决方案不需要id。但他需要知道自己犯了什么错误。@AnilM谢谢……额外的见解很有帮助。我不知道我可以这么做