jQuery在父元素上切换onclick
jQuery toggle onclick on parent element
如果单击.ab-head
,如何隐藏.ab-content
的内容?当我单击ab-head
并且content
可见时,也会隐藏。使用我现在的代码,它几乎可以工作,但当我单击其中一个时,所有内容都会切换。
如何仅在parent div
上维护该功能?有什么想法吗?
$(document).ready(function(){
$(".ab-head").click(function(){
$(".ab-content").toggle();
});
$(".ab-content").click(function(){
$(".ab-content").toggle();
});
});
<div class="ab-container">
<div class="ab-head">
<h1>some name 1</h1>
</div>
<div class="ab-content">
<p>some text bla bla bla 1</p>
</div>
</div>
<div class="ab-container">
<div class="ab-head">
<h1>some name 2</h1>
</div>
<div class="ab-content">
<p>some text bla bla bla 2</p>
</div>
</div>
示例:https://jsfiddle.net/yppn4nex/
只需切换.ab-content
:的下一个实例
$(".ab-head").click(function(){
$(this).next(".ab-content").toggle();
});
您还可以使用this
关键字引用用户单击的当前<div class="ab-content">
:
$(".ab-content").click(function(){
$(this).toggle();
});
尽管如果你想在点击时隐藏内容,最好按照它本身的建议做一些事情。
快速演示:
$(".ab-container").on("click", function(){
$(this).find(".ab-content").toggle();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="ab-container">
<div class="ab-head">
<h1>some name 1</h1>
</div>
<div class="ab-content">
<p>some text bla bla bla 1</p>
</div>
</div>
<div class="ab-container">
<div class="ab-head">
<h1>some name 2</h1>
</div>
<div class="ab-content">
<p>some text bla bla bla 2</p>
</div>
</div>
您可以通过事件委派这样做:
检查下面的代码段
$('.ab-container').on('click', '.ab-content ,.ab-head', function() {
$(this).closest('.ab-container').find('.ab-content').toggle();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="ab-container">
<div class="ab-head">
<h1>some name 1</h1>
</div>
<div class="ab-content">
<p>some text bla bla bla 1</p>
</div>
</div>
<div class="ab-container">
<div class="ab-head">
<h1>some name 2</h1>
</div>
<div class="ab-content">
<p>some text bla bla bla 2</p>
</div>
</div>
相关文章:
- 如何使用jquery迭代具有相同属性的html元素并查找onclick事件
- 如何通过它瞄准javascript元素's的onclick属性
- 将多个元素绑定到同一onclick
- 如何在动态创建元素的内联onclick事件中传递对象
- Onclick函数更改为所有更改元素的相同函数
- 为onClick-hander插入临时DOM元素
- 为什么body元素上的onclick事件不起作用
- 在几个元素上模拟onclick事件
- ReactJS:onClick更改元素
- javascript()onclick隐藏元素-dos'我不在firefox工作
- 将onclick事件附加到具有一个元素的下拉列表中
- 大量onclick元素..或者可能是一些jquery
- Selenium从Div-OnClick元素中获取String值
- 添加onclick元素,但保持当前的onclick事件
- 将鼠标停留在onclick元素上
- 对于尚未创建的元素,单击Onclick元素
- 使用onclick 元素
- 如何将类添加到 onclick 元素之外的元素
- 纯 Js onclick 元素不起作用
- 如何设置onClick元素后的回调函数