javascript - 如何展开和折叠多个 div,而不使用 jQuery 重复相同的代码

标签 javascript jquery html css

我想编写一段代码,当您单击其上方的标题文本时,它可以展开和折叠带有段落的 div

<div class="container">
<h3><span class="toggler">Text that toggles</span></h3>
<div class="wrapper">
<p>Random text</p>
</div>
</div>

 <div class="container">
<h3><span class="toggler2">Text that toggles</span></h3>
<div class="wrapper2">
<p>Random text</p>
</div>
</div>

我知道我可以编写这样的函数,它可以在 display: blockdisplay: none 之间切换。

我可以为具有不同类的不同 div 重复相同的功能并且它会起作用,但如果我有很多它们,我最终会多次重复相同的功能,我觉得必须有一个更干净的方法来做到这一点。

$(document).ready(function() {
$(".toggler").on("click", function() {
    $(".wrapper").toggleClass("active");
   });
});

最佳答案

如果您使用 jquery 和 bootstrap,则无需编写单行代码。

解决方案一:

在下面添加引用:

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

你的 html:

<div class="container">
    <h3><span class="toggler" data-toggle="collapse" data-target="#col1">Text that toggles</span></h3>
    <div class="wrapper" id="col1">
        <p>Random text</p>
    </div>
</div>

<div class="container">
    <h3><span class="toggler2" data-toggle="collapse" data-target="#col2">Text that toggles</span></h3>
    <div class="wrapper2" id="col2">
        <p>Random text</p>
    </div>
</div>

解决方案 2:

要么你可以写简单的一行代码

$(document).ready(function() {
 $("h3").on("click", function() {
    $(this).next().toggleClass("active");
 });
});

我们可以选择带有header Tag的header。之后,我们可以将 toogleClass 添加到下一个元素“DIV”。

因此,当点击 header 时,toggleClass 将被添加到下一个 DIV 元素

关于javascript - 如何展开和折叠多个 div,而不使用 jQuery 重复相同的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52478518/

相关文章:

javascript - 使用jquery的第n个元素

javascript - 如何识别正在改变样式的内容

javascript - 合并 2 个对象数组

javascript - 在 RaphaelJS 中自定义饼图

javascript - slideDown() slideUp() 反转

javascript - 使用 this 和变量的多个选择器

jquery - Slickgrid 一次性保存所有数据

jquery - 你能执行基于元素伪类的 jQuery 函数吗?

javascript - 选择单选输入时如何更改按钮颜色,但输入包装在标签之前的 div 中?

javascript - iframe : How to display Type and ID