Jquery 根据单击的标志图像显示div

Jquery 根据单击的标志图像显示div,jquery,html,Jquery,Html,所以现在我有4个不同的标志,我想显示四个div中的一个。例如,如果单击法语标志,我希望显示法语内容,并隐藏其他语言div等 目前,我有四个国旗,ID分别为法语、德语、英语和荷兰语,单击时,我会得到被单击国旗的ID,并使用该名称切换我想要显示的div $("img").click(function () { var myClass = $(this).attr("id"); $('div.' + myClass).toggle(); }); }); div的相关课程也被称为英语、荷

所以现在我有4个不同的标志,我想显示四个div中的一个。例如,如果单击法语标志,我希望显示法语内容,并隐藏其他语言div等

目前,我有四个国旗,ID分别为法语、德语、英语和荷兰语,单击时,我会得到被单击国旗的ID,并使用该名称切换我想要显示的div

$("img").click(function () {
 var myClass = $(this).attr("id");

   $('div.' + myClass).toggle();

 });
});
div的相关课程也被称为英语、荷兰语、德语和法语

我遇到的问题是,当我得到一个满是四个div的页面时,能够隐藏我没有点击的div


谢谢。

如果课程名为fixed,英语、荷兰语、德语和法语,那么

var $divs = $('.english, .dutch, .german, .french');
$("img").click(function () {
    var myClass = this.id;
    var $div = $('div.' + myClass).toggle();

    $divs.not($div).hide()

 });
});
var $divs = $('.flag');
$("img").click(function () {
    var $div = $divs.filter('.' + this.id).toggle();
    $divs.not($div).hide()

 });
});
另一个解决方案是向所有4个div添加另一个名为
flag
的类,如

var $divs = $('.english, .dutch, .german, .french');
$("img").click(function () {
    var myClass = this.id;
    var $div = $('div.' + myClass).toggle();

    $divs.not($div).hide()

 });
});
var $divs = $('.flag');
$("img").click(function () {
    var $div = $divs.filter('.' + this.id).toggle();
    $divs.not($div).hide()

 });
});

您基本上是在寻找一个简单的选项卡功能,因此我将重新考虑您的标记,并使用类来定义标志和语言。像这样:

HTML

<div class="flag english" data-language="english">E</div>
<div class="flag dutch" data-language="dutch">D</div>
<div class="flag german" data-language="german">G</div>
<div class="flag french" data-language="french">F</div>

<article class="language english show">
    English content
</article>
<article class="language dutch">
    Nederlandse inhoud
</article >
<article class="language german">
    Deutsch Inhalt
</article>
<article class="language french">
    Contenu en français
</article>

请参阅。

试试这样的方法

<div class="english lang">...</div>
<div class="german lang">...</div>

$("img").click(function () {
   var myClass = $(this).attr("id");
   $('div.lang').hide();
   $('div.' + myClass).show();
});
。。。
...
$(“img”)。单击(函数(){
var myClass=$(this.attr(“id”);
$('div.lang').hide();
$('div.+myClass).show();
});

您的HTML是什么样子的?可能会为所有div添加一个额外的类,以便您可以立即隐藏它们并仅显示所选的一个。如果没有HTML,我们无法在不进行猜测或假设的情况下回答此问题。请给我们看看。理想情况下,还应显示一个。基本概念是你应该尽力帮助我们帮助你。