【发布时间】:2018-10-17 12:24:57
【问题描述】:
我想编写一个代码,一旦您单击其上方的标题文本,就可以展开和折叠带有段落的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: block 和 display: none 之间切换。
我可以为具有不同类的不同 div 重复相同的功能,它会起作用,但如果我有很多,我最终会多次重复相同的功能,我觉得必须有一个更清洁方法来做到这一点。
$(document).ready(function() {
$(".toggler").on("click", function() {
$(".wrapper").toggleClass("active");
});
});
【问题讨论】:
-
使用
$("[class^='toggler'")作为第一个选择器,$(this).find(".wrapper")作为第二个选择器 -
[attribute^=value] 选择器选择所有 title 属性值以 value 开头的元素,您需要应用
$("[class^='toggler'").on("click", function(){ $(this).next(".wrapper").toggleClass("active"); });才能打开上述代码中的所有.wrapper。 -
Vikintas Raudavicius 你检查我的答案了吗
标签: javascript jquery html css