2016-06-28 5 views
0
ネストされた「DIV」内を排除しながら、私は私の「行」の下でのみ、トップレベルの「divを」取得しようとしています

各。私のコードはネストされたdivも同様に取得します。だけ親に「DIV(s)は」トップレベルを取得し、それらの要素の内側にネストされたdivを除外する方法

var container = $(event.target).closest('.row').children('div'); 
console.log(container); 

出力:

<div class="ELEMENT I WANT ONLY"> 
    <div class="nested element I do not want"> 
     <div class="nested element I do not want"> 
     </div> 
    </div> 
</div> 

私はクラスの要素によって異なりますので、私はセレクタとしてクラスを使用することができます信じていません。

私の目標は、私がそのdiv要素のクラスでのブートストラップの列の設定を変更することができますので、その下の「行」と最初の「DIV」を選択することです。いろいろな行には異なる量のdivがあるため、変更が必要な場合は最初のものより多く取得する必要があります。

+0

'$( "divの要素")。いない($( " DIV要素")。childNodeが())'? –

+1

このコードは、「行」 ''クラスで要素の直接の子である任意の 'div'を取得します。それらのdivの子孫はDOMツリーの一部であるので、それらは自然にそれらと一緒に行くでしょう。返された要素に作用すると、選択された 'div'にのみ影響します。言い換えれば、 'container.addClass( 'yadaが')'のみ子 'div'sに' "云々" 'クラスを追加します。 –

+0

@MikeMcCaughan - 私はこれを修正するまで説明してくれてありがとう、それはDOMツリーの残りの部分を返していましたし、私のコードを続けると信じなぜ、私は理解していなかったが無意味でした。 – Mike

答えて

0

var container = event.target.closest('.row').querySelector('div'); 
0

JS

jQueryの

var container = $(event.target).closest('.row').find(':first-children'); 

または

で試してみてください@マイクMcCaughanは正しいコメントがありました。私のコードはうまくいっていて、やるべきことをやっていましたが、問題は、それが私に返された結果を誤解したことでした。

関連する問題