0
親要素に子要素があるかどうかを知るブール値を取得しようとしています。制約のいくつかは以下のとおりです。バニラJS不足している子要素を持つ要素を検索
- ボックスがフッター要素を持っていない場合は、これらの「ボックス」のボックスのいずれかがフッター要素に
を持っているため
- チェックや参照のx数に制限はありません、クラスを追加
<div class="data-trend"> <header></header> <div class="main"></div> <footer></footer> </div>
<div class="data-trend"> <header></header> <div class="main"></div> <footer></footer> </div>
あなたはバニラでこれをたくさんやっている場合、それは
forEach
ヘルパーを定義するために理にかなってvar elems = document.querySelectorAll('.data-trend'), len = elems.length, i = -1 while(++i < len) { if(!elems[i].querySelector('footer')) elems[i].classList.add('no-footer') }
.no-footer { border: 3px solid blue; }
<div class="data-trend"> <header>Testing</header> <div class="main"></div> <footer>Footer</footer> </div> <div class="data-trend"> <header>Testing</header> <div class="main"></div> <footer>Footer</footer> </div> <div class="data-trend"> <header>Testing</header> <div class="main"> <span class="glyphicons"><span> </div> </div>
:
私は 'qu erySelector'を実行し、次に 'find'を実行します。それで私は長さをチェックしようとしましたが、3つのボックスがあるので、0という値は決して得られません。私は 'contains'を使用しようとしました。 – pertrai1
このようなものが動作するはずです: 'var elems = document.querySelectorAll( '。data-trend')、len = elems.length、i = -1; while(++ i
jmcgriz
はい、しかし、私はどのようにelemsを取って、それらのうちのどれにフッターがないのか把握しますか? – pertrai1