各divにはそれぞれ独自のクラスやIDを持つ多数の異なる項目のインスタンスが含まれています。 の文脈ではdiv内で急速に繰り返されるトラバース
// Stuff like this occurs 15-20 times for similar but different actions
$(this).parent().nextAll('.target').eq(0).find('.toggle').slideToggle();
$(this).next('.alert').html('Success');
:
の.jsコードの多くこれらの親のdivの各内の要素に適用され、私の.jsは、のようなものを行うには一定の必要性によって肥大化しつつあります文書、なぜこのコードが必要なのか分かります。しかし、私は私ではなく、文書全体の親のdivとして基準点を再定義することしかできなかった場合、私ははるかに簡単で上記の複雑なコードを置き換えることができることを感じる:
function keepingCodeWithinParentDiv(){
$('.toggle').slideToggle();
$('.alert').html('Success');
}
ので、そこにありますJavascriptで言うには:for this part nothing exists outside this div
?
$(".toggle", element).slideToggle();
ためjQuery docを参照してください:あなたは親要素を持っている場合は
いいえ。しかし、共通の祖先を使用して、それに基づいて 'find()'を呼び出すことで、まだまだクリーンアップできます。 – alex