目次を動的に作成しています。
階層レベル:
親部門
こども課
- グランドチルドレン部門
このために、 div を動的に作成しています。
次に、それらの div にマージンを割り当てています。
親部門 :-マージンなし
子供部門 :- margin-left :15px;
グランドチルドレン部:- margin-left :35px;
そのため、目次を動的に作成できます。
問題 :
複数の親 div を作成し、階層ごとにサブ div を作成しました。しかし、最初の親 div にクリック イベントを適用している場合、クラスにクリック イベントを追加しているため、そのイベントが他の親 div にも適用されます。
このクリックではslideToggle().
、クラスを使用しているため、他のクラスにも適用されているため、問題に直面しています。
例:
$('main_div').haml(['%div.g', {id:'g_' + i', name: i}, Parent Div]);//class = 'g'
$('main_div').haml(['%div.g1', {id:'g_' + i, name: i, style:'**margin-left: 15px**;'}, Children Div]);//class = 'g1'
$('main_div').haml(['%div.g2', {id:'g_' + i, name: i, style:'**margin-left: 35px**;'}, Grand Children Div]);//class = 'g2'
この divの 'i'値は、AJAX GET を使用してデータベースから取得されます。
では、どのような変更を行う必要がありますかslideToggle()
: これでは、クリックされた親 div の子のみを切り替えたいだけですか?
ヒント/提案をお願いします。
参照コード:
$('#main_div').on('click','.g', function(){
$('#main_div').find('.g1,.g2').slideToggle();
});