首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >nextUntil() jQuery选择器

nextUntil() jQuery选择器
EN

Stack Overflow用户
提问于 2011-04-10 02:05:46
回答 4查看 2.3K关注 0票数 3

为什么它会返回一个错误?

http://jsfiddle.net/L82JU/

未捕获TypeError:对象没有方法“”replace“”

我想选择.x的第一个子节点,直到.x的第三个子节点

html

代码语言:javascript
代码运行次数:0
运行
复制
<div class="x">
    <div class="a">a</div>
    <div class="b">b</div>
    <div class="c">c</div>
    <div class="d">d</div>
    <div class="e">e</div>
</div>

jquery

代码语言:javascript
代码运行次数:0
运行
复制
a=$('.x').children();
alert(a.eq(0).nextUntil(a.eq(3)).length);
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-04-10 02:14:16

$.nextUntil需要字符串,而不是对象。在您的示例中,您正在传递一个对象,该对象没有replace方法。您需要传递选择器。

你可以试着这样做:

代码语言:javascript
代码运行次数:0
运行
复制
alert(a.eq(0).nextUntil('.d').length);

或者,如果您事先不知道具体的选择器:

代码语言:javascript
代码运行次数:0
运行
复制
alert(a.eq(0).nextAll().slice(2).length);

http://jsfiddle.net/L82JU/5/

票数 1
EN

Stack Overflow用户

发布于 2011-04-10 02:11:23

.nextUntil()接受选择器,而不是对象。尝试:

代码语言:javascript
代码运行次数:0
运行
复制
alert( a.eq(0).nextUntil( '.' + a.eq(3).attr('class') ).length );

http://jsfiddle.net/L82JU/3/

票数 3
EN

Stack Overflow用户

发布于 2011-04-10 02:15:05

nextUntil方法接受一个选择器,而不是一个元素。

此外,不应该在nextUntil之前使用eq(0),这会将集合减少到第一个元素,并且不能循环到只有一个元素的集合中的第三个元素。

http://jsfiddle.net/L82JU/4/

代码语言:javascript
代码运行次数:0
运行
复制
a=$('.x').children();
alert(a.nextUntil('.c').length);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5606841

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档