2012-08-24 6 views
6

jQueryに関する問題があります。 div内の<a>タグの数をカウントする必要があります。今これは簡単に$('.classOfDiv > a').size();を使って行うことができます。しかし、私はclassOfDivの2人の子供の中でaを数える必要があります。div + childs内に<a>タグを数えてください

Ex。これは、12

の結果と

<div class="classOfDiv"> 
    <div class="div1"> 
     <a href="" class="link">Link</a> 
     <a href="" class="link">Link</a> 
     <a href="" class="link">Link</a> 
    </div> 
    <div class="div2"> 
     <a href="" class="link">Link</a> 
     <a href="" class="link">Link</a> 
     <a href="" class="link">Link</a> 
    </div> 
    <div class="div3"> 
     <a href="" class="link">Link</a> 
     <a href="" class="link">Link</a> 
     <a href="" class="link">Link</a> 
    </div> 
    <div class="div4"> 
     <a href="" class="link">Link</a> 
     <a href="" class="link">Link</a> 
     <a href="" class="link">Link</a> 
    </div> 
</div> 

$('.classOfDiv > a').size();を行うことができますか?

ありがとうございます!

答えて

11

だけalla.classDivの子孫だけではなく、直接的なものを得るためには、セレクタから>を削除:

$(".classOfDiv a").length 
+0

感謝をフィドルhereを作りましたよ! :) –

2

.classOfDiv > aセレクタはあなたの直接の子孫である<a>タグを取得します<div class="classOfDiv">、あなたがあなたのコードを変更する必要がありますので:

$('.classOfDiv a').length; 

お知らせの欠如を直接子孫セレクター。

+1

'size()'は推奨されていません。 'length'を使うべきです。 – VisioN

+0

編集されました。ありがとう! –

0

あなたはこのような何かを行うことができます:

$('.classOfDiv > [class ^= "div"] > a').length 

は、私は非常に迅速な対応のために