Javascript jQuery切换最近的信息

Javascript jQuery切换最近的信息,javascript,jquery,html,toggle,Javascript,Jquery,Html,Toggle,我有以下html: <div class="col-md-12"> <div class="group"> <div class="label"> <li class="interrogation">?</li> </div> </div> <div class="message"></div> </div> <

我有以下html:

<div class="col-md-12">
   <div class="group">
      <div class="label">
         <li class="interrogation">?</li>
      </div>
   </div>
   <div class="message"></div>
</div>

<div class="col-md-12">
   <div class="group">
      <div class="label">
         <li class="interrogation">?</li>
      </div>
   </div>
   <div class="message"></div>
</div>

当前代码可以工作,但当我单击其中一条消息时,它会切换页面上的所有消息。如何使其仅切换问号后面的消息?

这是因为您在函数中使用了
$(“.query”)
选择器。这将选择文档中具有该类的所有元素。使用
$(this)
仅将单击的元素作为选择器的参考

这是一把小提琴:

$(函数(){
$(“.message”).hide();
$(“.query”)。单击(函数(){
$(this).closest(“.group”).parent().find(“.message”).toggle();
});
});

  • 信息1
  • 信息2
    这是因为您在函数中使用了
    $(“.query”)
    选择器。这将选择文档中具有该类的所有元素。使用
    $(this)
    仅将单击的元素作为选择器的参考

    这是一把小提琴:

    $(函数(){
    $(“.message”).hide();
    $(“.query”)。单击(函数(){
    $(this).closest(“.group”).parent().find(“.message”).toggle();
    });
    });
    
    
    
  • 信息1
  • 信息2
    给你一个解决方案

    $('.query')。单击(函数(){
    $(this).closest('div.group').next('div.message').slideToggle();
    });
    
    。消息{
    显示:无;
    }
    1.审讯{
    光标:指针;
    }
    
    
  • 信息1
  • 信息2
    给你一个解决方案

    $('.query')。单击(函数(){
    $(this).closest('div.group').next('div.message').slideToggle();
    });
    
    。消息{
    显示:无;
    }
    1.审讯{
    光标:指针;
    }
    
    
  • 信息1
  • 信息2
    像这样的东西

    var ns={};
    ns.init=函数(){
    $(“.message”).hide()
    $(“.query”)。单击(函数(){
    var commonParent=$(this).closest(“.col-md-12”);
    commonParent.find(“.message”).toggle();
    });
    }
    ns.init()
    
    
    
  • 味精1
  • 味精2
    像这样的东西

    var ns={};
    ns.init=函数(){
    $(“.message”).hide()
    $(“.query”)。单击(函数(){
    var commonParent=$(this).closest(“.col-md-12”);
    commonParent.find(“.message”).toggle();
    });
    }
    ns.init()
    
    
    
  • 味精1
  • 味精2
    使用
    $(this).closest()
    而不是
    ('.distriction')。closest()
    使用
    $(this).closest()
    而不是
    ('.distriction')。closest()
    此问题有一些关于在jQuery单击功能中使用
    This
    的详细信息:此问题有一些关于在jQuery单击功能中使用
    This
    的详细信息:
    ns.init = function() {
        $(".message").hide();
        $(".interrogation").click(function(){
            $(".interrogation").closest(".group").parent().find(".message").toggle();
        });
    }