ノードのリストがあります:
<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 を取得するにはどうすればよいですか?
ノードのリストがあります:
<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 を取得するにはどうすればよいですか?
これは機能するはずです。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);
Zepto.js に nextAll() のようなものはありますか?
ドキュメントによると、 afternext
と before に顕著なギャップがありnot
ます。
これは、ループが必要であることを示唆しています。
var $current = $(".current"),
$walk,
$following = $(),
$next;
for ($walk = $current.next(); $walk[0]; $walk = $walk.next()) {
$following.add($walk);
}
その使用はadd
jQueryで機能します。Zepto のドキュメントでは、「提供される API は対応する jQuery と一致する」 (太字) と主張していますが、add
ドキュメントではセレクターの使用についてのみ説明されているため、少し操作する必要がある場合があります。