jquery - 返回子元素的数量,但对于不同的父元素

Posted

技术标签:

【中文标题】jquery - 返回子元素的数量,但对于不同的父元素【英文标题】:jquery - return number of children but for different parent element 【发布时间】:2012-09-28 08:52:24 【问题描述】:

我有这个问题,jquery 语法中的 .length 没有返回正确数量的子元素。

我的代码是这样的 smtg。

<div class="swiper-container swiper1">
    <div class="swiper-wrapper">
        <div class="swiper-slide">item1</div>
        <div class="swiper-slide">item2</div>
        ...
        <div class="swiper-slide">
            <div class="swiper-container swiper-v">
                <div class="swiper-wrapper">
                    <div class="swiper-slide">item1</div>
                    <div class="swiper-slide">item2</div>
                </div>
            </div>
        </div>
    </div>
</div>

现在这里发生的是,当我使用 jquery 返回两个 swiper 的子元素数量时,它给了我一个不正确的值。

例如

alert($('.swiper1 .swiper-slide').length); // which returns me 11

alert($('.swiper-v .swiper-slide').length); // which return me 2 - which is correct

有什么想法吗?

附:我正在使用 iDangero.us Mobile Swiper 插件 :)

【问题讨论】:

我没有发现任何问题。这是jsfiddle link。我得到了 9 和 2 作为长度 您似乎面临的问题到底是什么。您能否提供完整的 html 或工作小提琴来指定您的问题。 【参考方案1】:

使用

$('.swiper1 > .swiper-wrapper').children().length;

$('.swiper-v > .swiper-wrapper').children().length;

在jsFiddle上测试

【讨论】:

这里总是返回 1,而 OP 说 2 对于第二个 sn-p 是正确的。 我需要包装类中子元素的数量,而不是容器类。 谢谢塔尔哈,我爱你uuuuuuuuuuu:D【参考方案2】:

我实际上在这里没有看到问题。检查这个jsfiddle link。

【讨论】:

您好,我的代码放置有误。第二个滑块实际上应该是第一个滑块中其他项目中的一个项目。我编辑了代码,你能再看一遍吗?再次感谢。 我不明白,你的问题是什么?对于这种情况,您将获得长度 12 和 2,这是预期的长度。检查here 问题是第一个滑块是返回 9 表示页面的页数。而第二个滑块的作用类似于帖子的内容滑块。如果第一个滑块返回 11 将不正确,因为它将生成 11 个导航按钮,假设只有 9 个。

以上是关于jquery - 返回子元素的数量,但对于不同的父元素的主要内容,如果未能解决你的问题,请参考以下文章

jquery常用

jquery 获取元素

jQuery show/fadeIn 不将 display:block 应用于隐藏的父元素内的子元素 - 仅限 FireFox

jquery is()和has()方法

根据悬停的子元素设置不同的父元素样式 | CSS

(转)Jquery获取上级下级或者同级的元素