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 は動作します。しかし、明らかに、ページ上のすべての「selectbox」divで機能します。すべての「selectbox」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 に答える