算上<a> tags inside div + childs</a>

时间:2012-08-24 12:16:52

标签: jquery html count size children

我有关于jQuery的问题。我需要计算div中<a>个标签的数量。现在可以使用$('.classOfDiv > a').size();轻松完成。但我需要在classOfDiv的几个孩子中计算a。

实施例

<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();结果为12

可以这样做吗?

提前致谢!

3 个答案:

答案 0 :(得分:12)

只需从选择器中移除>,即可获得a的{​​{1}} .classDiv个后代,而不仅仅是直接的后代:

$(".classOfDiv a").length

答案 1 :(得分:2)

.classOfDiv > a选择器只会获取<a>的直接后代的<div class="classOfDiv">代码,因此您需要将代码更改为:

$('.classOfDiv a').length;

请注意缺少>直接后代选择器。

答案 2 :(得分:0)

你可以这样做:

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

我做了一个小提琴here