仅slideToggle()子类的通用方法
Generic way to only slideToggle() child div
jquery新手。我想做一个幻灯片切换到手风琴拼贴并展开一个部分。
单击标题时,我想展开/折叠"#部分"中的所有内容。
<h3 id="assignments">Assignments</h3>
<div id="section">
Assignment Count <input type="number" name="assignment_count">
</div>
我有下面的代码。但我想让它变得通用,这样,如果我点击了任何标题,它只会折叠它下面的部分,而不是所有id为"#section"的div
$(document).ready(function(){
$("h3").click(function(){
$("#section").slideToggle();
});
});
您可以使用DOM遍历来实现这一点。在h3
的click
处理程序中,next()
函数可用于检索以下元素。试试这个:
$('h3').click(function() {
$(this).next('div').slideToggle();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h3>Assignments</h3>
<div>
Assignment Count
<input type="number" name="assignment_count">
</div>
<h3>Foo</h3>
<div>
Foo Count
<input type="number" name="foo_count">
</div>
<h3>Bar</h3>
<div id="section">
Bar Count
<input type="number" name="bar_count">
</div>
您可以使用.next()
,它可以获得紧随其后的同级。
$(document).ready(function(){
$("h3").click(function(){
$(this).next("#section").slideToggle();
});
});
此外,由于您希望使其通用,因此不要使用ID。请改用类。像这样的
<h3 class="assignments">Assignments</h3>
<div class="section">
Assignment Count <input type="number" name="assignment_count">
</div>
$("h3").click(function(){
$(this).next(".section").slideToggle();
});
$("h3").click(function() {
$(this).next(".section").slideToggle();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h3 class="assignments">Assignments 1</h3>
<div class="section">
Assignment Count
<input type="number" name="assignment_count" />
</div>
<h3 class="assignments">Assignments 2</h3>
<div class="section">
Assignment Count
<input type="number" name="assignment_count" />
</div>
<h3 class="assignments">Assignments 3</h3>
<div class="section">
Assignment Count
<input type="number" name="assignment_count" />
</div>
<h3 class="assignments">Assignments 4</h3>
<div class="section">
Assignment Count
<input type="number" name="assignment_count" />
</div>
使用:header,您可以在任何标头上触发"on"点击事件,例如h1、h2、h3、h4、h5、h6.
$(document).ready(function(){
$(":header").on('click',function(){
$(this).nextUntil(":header").slideToggle();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h1 id="assignments1">Assignment1</h1>
<div id="section">
Assignment Count <input type="number" name="assignment_count">
</div>
<h2 id="assignments2">Assignments2</h2>
<div id="section">
Assignment Count <input type="number" name="assignment_count">
</div>
<h3 id="assignments3">Assignments3</h3>
<div id="section">
Assignment Count <input type="number" name="assignment_count">
</div>
相关文章:
- 可以“;超级“;可以在子类的方法内部使用,在不直接引用的情况下调用相应的超类方法
- 下划线扩展方法和结构.js子类
- 如何在 javascript 中从子类调用父方法
- ES6类:在超级方法中获取子类的正确名称
- Javascript继承:从超类的方法设置子类的属性
- Javascript子类对象不保留基类的属性/方法
- Javascript子类化,超级构造函数和使用自定义扩展会丢失基类方法
- 跨浏览器的方式来子类JavaScript Array并获取array[i]方法
- JavaScript:使用子类中的父方法
- RxJS 5子类Observable-静态方法返回父类的实例
- 如何调用父类'方法从JavaScript中的子类中删除,以便parent's的局部变量将是可访问的
- Javascript类扩展:从子类函数调用基类函数:似乎在调用静态方法
- 当子类继承并挂载父类时,父类是否运行生命周期方法?
- 在CoffeeScript中,调用基类方法和调用子类方法有什么区别?
- 在父类的方法中使用子类的类变量,这样变量就可以动态地改变(javascript)
- 是否有子类/继承/扩展javascript WebSocket的方法
- 如何在JavaScript内置JavaScript类的子类中使用基类方法
- 如何在JS/Seed的GObject子类中创建方法
- 如何在JavaScript中调用静态子类方法
- 仅slideToggle()子类的通用方法