Javascript 如何找到.each()的结尾?
我确实在上面寻找了一些其他的答案,我在这里找到了我正在使用的答案,但是看起来它从来没有发生过,因为它没有触发Javascript 如何找到.each()的结尾?,javascript,jquery,Javascript,Jquery,我确实在上面寻找了一些其他的答案,我在这里找到了我正在使用的答案,但是看起来它从来没有发生过,因为它没有触发return falseconsole.log(myId)中的任何一个通常应为 let pattern = new RegExp('^\/wiki\/'); var total = doSelect("Location").siblings('td').find('a').length; doSelect("Location").siblings('td
return false
console.log(myId)中的任何一个代码>通常应为
let pattern = new RegExp('^\/wiki\/');
var total = doSelect("Location").siblings('td').find('a').length;
doSelect("Location").siblings('td').find('a').each(function(i, el, index) {
var result = $(this).attr('href').replace(pattern, '');
console.log(result);
if (index === total - 1) {
myId = item.pageid;
console.log(myId);
return false;
}
});
我甚至按照建议尝试了以下方法,但没有任何积极的结果:
let pattern = new RegExp('^\/wiki\/');
doSelect("Location").siblings('td').find('a').each(function(i, el) {
var result = $(this).attr('href').replace(pattern, '');
console.log(result);
}).promise().done( function(){
myId = item.pageid;
console.log(myId);
return false;
});
更新
关于:项目
(以下数据无问题),上述代码在以下数据中:
$.getJSON(url,function(data){
$.each(data, function(i, item) {
.each(function(i, el, index)
each()
回调没有第三个参数。您称之为索引的内容未定义。第一个参数i
是索引
改为:
if (i === total - 1)
第一个选项有一个sintax错误:
.each(函数(i,el,index)必须是.each(函数(index,el)
问题是变量index
没有定义,因此if(index==total-1)
永远不会返回true
调用函数。每个:
$.getJSON(url,function(data){
$.each(data, function(i, item) {
.each(function(i, el, index)
应该是
.each(function(i, el)
if (i === total - 1)
那么测试应该是
.each(function(i, el)
if (i === total - 1)
cf,说明函数采用的两个参数:
.每个(功能)
函数类型:函数(整数索引、元素)
您还可以使用.last()
函数:
一,
二,
什么是item
?@er han更新了你的问题的答案,以防其他人需要它。你不应该在你的if语句中简单地使用i
而不是index
?@er han是的,会接受MTK的答案,就像它提到的那样that@charlietfl如果也需要较高的迭代索引呢?也许现在不需要,但现在就可以了我明白了!现在就测试谢谢,现在就试试这个,因为它会使它变小