これを書く方法はわかりません。jQueryはこの要素の親兄弟しか取得しません
ページ上で複数回繰り返されるマークアップ構造を参照してください。
<div class="module">
<div class="archive-info">
<span class="archive-meta">
open
</span>
</div>
<div class="archive-meta-slide">
</div>
</div>
あなたは私のマークアップ内で見ることができるように、私が持っている私の$metaButton
ある<span>
- これをクリックしたときに、それはdiv.archive-meta-slide
上でアニメーションを実行します - これは十分に単純ですが、私がしようとしていますそれはクラス"archive-meta-slide"
ですべてのdivをアニメーション化し、そして私は本当にthis
を使用して、現在div.archive-meta-slide
をアニメーション化するために苦労していdiv.archive-meta-slide
が$metaButton
の親divの中にあった場合、それは簡単だろう唯一の現在のdiv.module
上でアニメーションを実行しますしかし、それはこの親divの外にあるので、私は '横断の権利を得る。
私のスクリプト
var $metaButton = $("span.archive-meta"),
$metaSlide = $(".archive-meta-slide");
$metaButton.toggle(
function() {
$(this).parent().siblings().find(".archive-meta-slide").animate({ height: "0" }, 300);
$(this).parent().siblings().find(".archive-meta-slide").html("close");
},
function() {
$(this).parent().siblings().find(".archive-meta-slide").animate({ height: "43px" }, 300);
$(this).parent().siblings().find(".archive-meta-slide").html("open");
});
は誰でも助けることができるかを参照してください。
おかげ ジョシュ
感謝多く – Joshc
+1ドキュメントのリンクを追加する – evanhutomo