javascript - 如何在 jquery 中切换除选定元素之外的所有元素

标签 javascript jquery css

我正在尝试执行以下操作:

  • 页面上有多个“标题”和“文本”div。
  • 加载页面后,只有第一个文本可见。
  • 点击任何标题时,其文字会向下滑动,而所有其他文字会向上滑动。

到目前为止,我想出了以下内容: HTML:

<div class="row clearfix">
    <div class="title"></div>
    <div class="text"></div>
</div>
<div class="row clearfix">
    <div class="title"></div>
    <div class="text"></div>
</div>
<div class="row clearfix">
    <div class="title"></div>
    <div class="text"></div>
</div>
<div class="row clearfix">
    <div class="title"></div>
    <div class="text"></div>
</div>

jQuery:

$('.title').click(function () {
    $(this).next().slideToggle();
})

https://jsfiddle.net/e3okos3e/

但是,这是非常基本的。

你能告诉我如何选择除所选标题之外的所有文本吗? 如何在加载时只显示第一个?

最佳答案

因此,如果默认情况下隐藏所有 text div,则执行以下操作:

$(document).ready(function(){
  $('.title').click(function () {
    $('.active').slideToggle().removeClass('active');
    $(this).next().slideToggle().addClass('active');
  })
});
.title {
  width: 100px;
  height: 20px;
  border: 1px solid #cc0;
  }
.text {
  display: none;
  }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="row clearfix">
    <div class="title"></div>
    <div class="text">text1</div>
</div>
<div class="row clearfix">
    <div class="title"></div>
    <div class="text">text2</div>
</div>
<div class="row clearfix">
    <div class="title"></div>
    <div class="text">text3</div>
</div>
<div class="row clearfix">
    <div class="title"></div>
    <div class="text">text4</div>
</div>

关于javascript - 如何在 jquery 中切换除选定元素之外的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29759094/

相关文章:

javascript - 如何使用触发器等在文档就绪时初始化我的函数?

Javascript 映射函数将值转换为十进制

javascript - 如何在 Typescript 库中导出子模块

javascript - 使用 Javascript 创建假 IP 地址

javascript - 为什么此按钮元素与 div 具有不同的 'click' 行为?

javascript - 一次向下滚动并再次向上滚动后灯箱顶部边距变化

javascript - 如何在 Quill(富文本编辑器)中检测和 trim 前导/尾随空格?

javascript - Laravel 5.1 - 使用 ajax 打印评论,然后能够立即删除它

php - 根据泛型函数中的参数动态添加 ajax 处理程序

jquery - 将 css 规则添加到 iframe 主体