ここに私のHTMLがあります:
<fieldset>
<legend>Ways I can be contacted</legend>
<div class="error-message-list"></div>
<div class="rows">
<div class="row">
<div>content</div>
<div>content</div>
</div>
<div class="row">
<div>content</div>
<div>content</div>
</div>
</div>
</fieldset>
<p><a id="count" href="#">Couynt</a></p>
..そしてここに私のJqueryがあります:
<script type="text/javascript">
$(document).on({
click: function(event) {
event.preventDefault();
console.log($(this).parents().siblings('fieldset .rows div.row').length);
}
},'#count');
</script>
「カウント」をクリックすると、コンソールにゼロが書き込まれます。row
div内にのクラスを持つ 2 つの div があるため、これは 2 であると予想されますrows
。
フィールドセットでそれを行うと、つまり次のようになります。
console.log($(this).parents().siblings('fieldset').length);
次に、期待どおりに 1 を返します。
私も試してみました
console.log($(this).parents().siblings('fieldset .rows .row').length);
と
console.log($(this).parents().siblings('fieldset > div.rows > div.row').length);
..その他多くの組み合わせがありますが、「2」とは言えません!