2016-08-31 9 views
0

現在、私はこれらの "コンテナ"のうち約10個の順序付けられていないリストを持っています。 各コンテナには、説明と「help-more-content」ボタンがあります。onclickで特定のクラス要素を切り替える

<div id="item" class="container"> 

      <div class="item">UniqueIdentifierInt</div> 

      <a href="someLinkUrl">linkName</a> 

      <div class="trackUri">someLinkUrlString</div> 

      <div class="description" style="display: none;">DescriptionString</div> 

      <a class="mt-help-more-content" href="#"></a> 

    </div> 

機能は、あなたがこのコンテナの「ヘルプより-コンテンツ」ボタンを打ったとき、それはそのコンテナの説明が表示されますことになっています。

ただし、ボタンをクリックした時点では、すべてのコンテナの説明が画面に表示されます。ここで

は、クリック今、明らかにこのトグル機能は、すべての「説明」の要素に呼び出されている

.on("click", ".mt-help-more-content", function(e) { 
    $('.description').toggle(); 
} 

現在のものです。現在のコンテナでのみ動作するように指定するにはどうすればよいですか?

他の回答hereherehereをチェックアウトしましたが、実際の利用はありません。

特定のクラスのみを切り替えることはできますか?あなたがIDで切り替えることはできないようです。

私は背景がJavaであるので、私はjavascript/htmlの新機能です。これは簡単なことですが謝罪します。

ご協力いただきまして誠にありがとうございます。

答えて

1

$.prevは、トリックを行います:

.on("click", ".mt-help-more-content", function(e) { 
    $(this).prev('.description').toggle(); 
} 
+0

'.closest'は祖先を通じて上がります。コンテナにクリックがある場合は、 '.find'を使用したいと考えています – Chad

+1

[prev()](https://api.jquery.com/prev/)は動作しますか? – AA2992

+0

ええ、 '.prev'はうまくいくでしょう。私はちょうどクリックハンドラが説明の後の 'a'タグでターゲットにされていることに気付きました。 – Chad

0

これは動作するはずです:

.on("click", ".mt-help-more-content", function(e) { 
    $(this).siblings(".description").toggle(); 
} 
関連する問題