web-dev-qa-db-ja.com

jQuery「this」とCSSセレクターを使用していますか?

Div内のセクションを表示/非表示にするスクリプトを書いています。これらのdivが3つあり、セクションが非表示になっていますが、1つの関数を使用して3つすべてを制御したいと考えていました。

これが私が今持っているものです:

$('.rates, .hours, .otherinfo').click(function() {
    $('.expand').toggle();
});

HTMLは次のとおりです。

<div class="rates">
    <h2>Rates</h2>
    <div class="expand">
        <p>Text in here is hidden by default.</p>
    </div>
</div>
<div class="hours">
    <h2>Hours</h2>
    <div class="expand">
        <p>Text in here is hidden by default.</p>
    </div>
</div>
<div class="otherinfo">
    <h2>Other Info</h2>
    <div class="expand">
        <p>Text in here is hidden by default.</p>
    </div>
</div>

そしてCSS:

.expand {
    display:none;
}

明らかに、これは、3つのdivのいずれかをクリックすると、3つすべてのdivの「展開」divを示します。 thisをセレクターに組み込む方法はありますか。何かのようなもの this'.expand'

ありがとう!

12
APAD1

$(this).find('.expand').toggle()

22
Nick

あなたはより良い答えのためにフィドルを追加する必要があります。しかし、このようなものは機能するはずです。

$("#something").click(function(){$(this).children("section").toggle();});
2
Mark