gpt4 book ai didi

Jquery:忘记 DOM 结构,只需找到此类的下一个元素

转载 作者:行者123 更新时间:2023-12-03 22:09:02 28 4
gpt4 key购买 nike

我觉得这个问题以前已经被问过,但每个发帖者的答案似乎都非常具体。

我正在寻找一种方法来识别给定元素并查找具有特定类的下一个元素。我不想处理parent()或children(),因为我正在解析一个表,并且我不希望它停在行的末尾,甚至停在表本身的末尾(那里是两个并排的)。

有什么方法可以在整个页面中搜索元素的下一个实例吗?

背景信息: http://jsfiddle.net/HKkAa/2/

我试图从突出显示的单元格开始迭代底部表格,并将“突出显示”类应用于每个单元格,直到到达结束日期。我有一种方法可以计算何时到达结束日期,我只需要魔术方法来选择链接的下一个实例。

最佳答案

编辑

对于任何感兴趣的人,我在这里对此进行了插件化:https://github.com/techfoobar/jquery-next-in-dom

<小时/>

如果你希望它完全通用并且能够满足所有/任何 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 结构如何,都会在 $('#item') 之后为您提供第一个匹配的 .foo

在这里查看原始答案:https://stackoverflow.com/a/11560428/921204

关于Jquery:忘记 DOM 结构,只需找到此类的下一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12873027/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com