我正在生成几个id =“RG”的div:
<div id="rg"></div>
<div id="rg"></div>
<div id="rg"></div>
如果我要点击第一个div,我怎么能隐藏每个div但是点击了div。
<div id="rg"></div> <-- Clicked (Keep)
<div id="rg"></div> <-- Hide
<div id="rg"></div> <-- Hide
答案 0 :(得分:9)
首先,您可以/应该只使用一次ID,即每个ID属性的值必须是唯一的。
其次,它看起来像这样
$('div').click(function() {
$(this).siblings().hide();
}):
答案 1 :(得分:4)
你应该不多次使用相同的ID,而是使用类。
<div class="rg"></div>
然后只需:
$(".rg").click(function(){
$(".rg").not(this).hide();
});
答案 2 :(得分:2)
首先,你不应该有多个具有相同id的元素。请改用<div class="rg"></div>
。
如果将它们更改为类,则可以使用以下代码:
$(".rg").click(function(){
$(this).siblings(".rg").hide();
});
答案 3 :(得分:1)
$('#rg').click(function(e){
$(this).siblings().hide();
});
答案 4 :(得分:0)
您不能使用ID两次,因此请将它们切换为类并使用它:
$(document).ready(function()
{
$('.rg').click(function() {
$('.rg').hide();
$(this).show();
});
});
答案 5 :(得分:0)
首先,如评论中所述,您应该使用class而不是id,因为id应该是唯一的。 我无法提供jQuery解决方案,但我可以给你一个通用的东西。
因此,当您单击div时,此div应作为参数传递给侦听器。 (我认为) 要隐藏所有其他人,你必须找到class = rg
的所有div这应该像jQuery(“。rg”)。hide()
然后,在隐藏所有div之后,您应该显示用户单击的div。
就是这样。
答案 6 :(得分:0)
<div id="rg1" class="toggle"></div>
<div id="rg2" class="toggle"></div>
<div id="rg3" class="toggle"></div>
然后为每个div添加onclick事件(#rg1 - 在示例中)
$('.toggle').css('display','none');$('#rg1').css('display','block');
此解决方案适用于其他div(或其他标签)不是兄弟姐妹的情况