我正在尝试在JQuery中的几个元素上运行循环。在有人说之前,我不需要.each()
。我试图将元素作为一个真正的循环运行 - 一旦成功的迭代运行,循环将中断并阻止对其他元素执行相同的操作。我简单地看了一下使用.getElement...
方法的直接JavaScript版本,但我理解这不符合我的其他要求 - 要迭代的元素列表是通过部分字符串JQuery标识符创建的:
rows = $('tr[id^="am_assetRow_' + parentAsset.replace(/ /, "_") + '_' + type + '"]');
有没有人知道任何可能有助于我开展工作的事情?
编辑:关于应用程序的更多信息:我正在检查是否可以将值插入到表的现有行中,如果没有,则创建新行并插入它在那里。因此,如果找到合适的拟合,我需要循环退出,并且在循环终止后,我需要知道它是否成功终止(放置值)或失败(没有可用的位置 - 创建新行的时间)。
答案 0 :(得分:5)
在jquery中,如果你想要一个$.each()
循环立即结束,只需要函数调用return false
。
答案 1 :(得分:1)
不使用each()
进行正常循环,但仍然使用jquery根据部分字符串等选择项目......
rows = $('tr[id^="am_assetRow_' + parentAsset.replace(/ /, "_") + '_' + type + '"]');
for (var i = 0; i < rows.length; ++i) {
rows[i]; // The raw element at this index.
$(rows[i]); // jquery collection for this one element.
if (someCondition) {
break; // Break the loop early.
}
}