0

ノードのリストがあります:

<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")セレクター (ノード 2) として使用する場合、Zepto を使用してすべてのノード 3 ~ 5 を取得するにはどうすればよいですか?

4

2 に答える 2

6

これは機能するはずです。http://api.jquery.com/nextAll/http://api.jquery.com/prevAll/とほぼ同じです

;(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);
于 2012-09-19T23:30:05.610 に答える
0

Zepto.js に nextAll() のようなものはありますか?

ドキュメントによると、 afternextと before に顕著なギャップがありnotます。

これは、ループが必要であることを示唆しています。

var $current = $(".current"),
    $walk,
    $following = $(),
    $next;

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

その使用はaddjQueryで機能します。Zepto のドキュメントでは、提供される API は対応する jQuery と一致する (太字) と主張していますが、addドキュメントではセレクターの使用についてのみ説明されているため、少し操作する必要がある場合があります。

于 2012-05-25T11:23:18.143 に答える