问题简而言之:我正在尝试对您单击的元素进行简单的显示/隐藏切换工作,而现在所有(13)div都受到该函数的影响。
每个div的结构如下所示
<div class="selectbox">
<h5>Title</h5>
<p>
Content
</p>
</div>
使用此jquery代码
$('.selectbox h5').click(function(){
$('div.selectbox,p,span').toggle();
$('.selectbox').toggle();
});
现在,jquery正常运行。但很明显,它是否适用于页面上的每个“选择框”div。如何才能使我点击的元素而不使用每个“selectbox”div的唯一ID?
答案 0 :(得分:4)
$('.selectbox h5').click(function(){
$(this).parent().find('p,span').toggle();
$(this).parent().toggle(); // this line should probably be removed
});
答案 1 :(得分:3)
使用$(this)
-
$('.selectbox h5').click(function(){
$(this).closest('.selectbox, p, span').toggle();
//$('.selectbox').toggle();
});
答案 2 :(得分:2)
您可以在函数中使用关键字this
,它表示触发事件的项目。在这种情况下你的H5。
$('.selectbox h5').click(function(){
$(this).closest('.selectbox').toggle();
});
答案 3 :(得分:1)
简单说明..
如果您希望父DIV切换,那么只需使用
$(this).parent().toggle();
在你的功能。
p.e。:如果您想使用div中的<p>
,可以像$('p', $(this).parent()).toggle();