Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.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
Javascript 如何以类名作为下一个元素的目标?_Javascript_Jquery_Html_Accordion_Slidetoggle - Fatal编程技术网

Javascript 如何以类名作为下一个元素的目标?

Javascript 如何以类名作为下一个元素的目标?,javascript,jquery,html,accordion,slidetoggle,Javascript,Jquery,Html,Accordion,Slidetoggle,我正在做一个简单的jquery手风琴效果,如下所示 JQUERY $(function ($) { $('.Accordian').find('.Btn').click(function () { $(this).next('.Content').slideToggle('fast'); $('.Content').not($(this).next()).slideUp('fast'); }); }); HTML <div class="Accordian">


我正在做一个简单的jquery手风琴效果,如下所示

JQUERY

$(function ($) {
  $('.Accordian').find('.Btn').click(function () {
    $(this).next('.Content').slideToggle('fast');
    $('.Content').not($(this).next()).slideUp('fast');
  });
});
HTML

<div class="Accordian">
  <div class="Btn"></div>
  <div class="Content"></div>
</div>

但是,如果内容放在
.Btn
.content
之间,那么它就会崩溃


问题

  • 如何直接将下一个可用类名作为相对于 按钮点击了吗
  • 如何针对类名的所有元素,下一个可用元素除外 相对于单击的按钮的类名
  • 尝试使用
    .nextAll()
    .first()
    来完成任务,实际上为了安全起见,我们使用了
    .first()

      $('.Accordian').find('.Btn').click(function () {
        var targetElem = $(this).nextAll('.Content').first();
        targetElem.slideToggle('fast');
        $('.Content').not(targetElem).slideUp('fast');
      });
    
    尝试使用
    .nextAll()
    .first()
    来完成任务,实际上为了安全起见,我们使用了
    .first()

      $('.Accordian').find('.Btn').click(function () {
        var targetElem = $(this).nextAll('.Content').first();
        targetElem.slideToggle('fast');
        $('.Content').not(targetElem).slideUp('fast');
      });
    
    试一试

    试一试


    “如果内容放在.Btn和.content之间”-我没有得到这个部分。为什么要将内容放在
    .content
    之外?你能澄清一下吗?我不是用传统意义上的手风琴。有时我想一直显示一些从未隐藏但需要在按钮下方的内容。我在检查小提琴之前添加了注释。“元素”或“html内容”比“内容”更容易理解,因为您已经有了这样一个div.@obsidon,如果您试图只针对.content并使“中断文本”可见。。那你为什么要把目标放在第一位呢?如果你要投反对票,至少要有礼貌地解释一下原因!“如果内容放在.Btn和.content之间”-我没有得到这个部分。为什么要将内容放在
    .content
    之外?你能澄清一下吗?我不是用传统意义上的手风琴。有时我想一直显示一些从未隐藏但需要在按钮下方的内容。我在检查小提琴之前添加了注释。“元素”或“html内容”比“内容”更容易理解,因为您已经有了这样一个div.@obsidon,如果您试图只针对.content并使“中断文本”可见。。那你为什么要把目标放在第一位呢?如果你要投反对票,至少要有礼貌地解释一下原因!