1

简而言之问题:我正在尝试仅在您单击的元素上进行简单的显示/隐藏切换,而现在所有(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 都有效。如何仅在我单击的元素上进行此操作,而不为每个“选择框” div 使用唯一的 id?

4

4 回答 4

4
$('.selectbox h5').click(function(){
     $(this).parent().find('p,span').toggle(); 
     $(this).parent().toggle(); // this line should probably be removed 
});
于 2012-09-14T14:26:04.597 回答
3

使用$(this)-

$('.selectbox h5').click(function(){

  $(this).closest('.selectbox, p, span').toggle();
  //$('.selectbox').toggle();

});
于 2012-09-14T14:28:18.863 回答
2

您可以在函数中使用关键字this,它表示触发事件的项目。在这种情况下,您的 H5。

$('.selectbox h5').click(function(){
         $(this).closest('.selectbox').toggle();
    });
于 2012-09-14T14:26:58.507 回答
1

简单点。。

如果您希望父 DIV 切换,那么只需 $(this).parent().toggle(); 在您的函数中使用。pe:如果你想<p>在你的 div 中使用,你可以像这样处理它$('p', $(this).parent()).toggle();

于 2012-09-14T14:26:53.337 回答