首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Zepto.js中有像nextAll()这样的东西吗?

Zepto.js中有像nextAll()这样的东西吗?
EN

Stack Overflow用户
提问于 2012-05-25 19:17:12
回答 2查看 1.3K关注 0票数 0

我有一个节点列表:

代码语言:javascript
复制
<div id="node-1"></div>
<div id="node-2" class="current"></div>
<div id="node-3"></div>
<div id="node-4"></div>
<div id="node-5"></div>

当使用$(".current")作为选择器(node-2)时,我如何使用get获取所有节点3-5?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-25 19:23:18

在Zepto.js中有类似nextAll()的东西吗?

the documentation并非如此,它在next之后和not之前有一个明显的差距。

这表明你需要一个循环,例如:

代码语言:javascript
复制
var $current = $(".current"),
    $walk,
    $following = $(),
    $next;

for ($walk = $current.next(); $walk[0]; $walk = $walk.next()) {
    $following.add($walk);
}

在jQuery中使用add就可以了。Zepto的文档声称“提供的API与它们的jQuery API(粗体)相匹配,但add docs只谈到了使用选择器,所以你可能不得不尝试一下。”

票数 0
EN

Stack Overflow用户

发布于 2012-09-20 07:30:06

这应该是可行的。就像http://api.jquery.com/nextAll/http://api.jquery.com/prevAll/一样

代码语言:javascript
复制
;(function($){
var e = {
    nextAll: function(s) {
        var $els = $(), $el = this.next()
        while( $el.length ) {
            if(typeof s === 'undefined' || $el.is(s)) $els = $els.add($el)
            $el = $el.next()
        }
        return $els
    },
    prevAll: function(s) {
        var $els = $(), $el = this.prev()
        while( $el.length ) {
            if(typeof s === 'undefined' || $el.is(s)) $els = $els.add($el)
            $el = $el.prev()
        }
        return $els
    }
}

$.extend( $.fn, e )
})(Zepto);
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10753464

复制
相关文章

相似问题

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