編集
興味のある方のために、ここでこれをプラグイン化しました: https://github.com/techfoobar/jquery-next-in-dom
jQuery を完全に汎用化し、すべて/任意の DOM 構造を満たすことができるようにする場合、jQuery でこれを行う組み込みの方法はありません。私はかつて、これを行う単純な再帰関数を考え出しました。次のようになります。
function nextInDOM(_selector, _subject) {
var next = getNext(_subject);
while(next.length != 0) {
var found = searchFor(_selector, next);
if(found != null) return found;
next = getNext(next);
}
return null;
}
function getNext(_subject) {
if(_subject.next().length > 0) return _subject.next();
return getNext(_subject.parent());
}
function searchFor(_selector, _subject) {
if(_subject.is(_selector)) return _subject;
else {
var found = null;
_subject.children().each(function() {
found = searchFor(_selector, $(this));
if(found != null) return false;
});
return found;
}
return null; // will/should never get here
}
そして、次のように呼び出すことができます:
nextInDOM('selector-to-match', element-to-start-searching-from-but-not-inclusive);
例:
var nextInst = nextInDOM('.foo', $('#item'));
DOM構造.foo
に関係なく、最初に一致するものを取得します$('#item')
ここで元の回答を確認してください: https://stackoverflow.com/a/11560428/921204