[英]What is the best way to break out of a .each() jquery statement?
我有以下代码:
$.each(data.People, function (i, person) {
html.push("<img title='" + person.Name + "' height='45' width='45' src='" + person.Picture + "' /> ");
});
我想更改此代码,所以如果数组(data.People)有超过20个人,它将执行上面为前20个人做的事情,然后只显示文字说“X”更多的人...所以对于例如,如果阵列有100个人,它会显示前20个,然后只说“80个人......”。
我假设我需要在每个声明中使用一些计数器,但希望看到最好的方法来突破并显示剩余的文本。
return false
从休息each
在jQuery的循环,就像break
中for
纯JavaScript的循环。 而return true
就像continue
。
对于X
部分,您需要获取正在迭代的集合的length
,因为不幸的是, each
集合都不提供该信息。
所以,在你的情况下:
$.each(data.People, function (i, person) {
if (i == 20) {
html.push("<p>" + (data.People.length - i) + " more people...</p>");
return false;
}
html.push("<img title='" + person.Name + "' height='45' width='45' src='" + person.Picture + "' /> ");
});
你的计数器是i
的代码。 当i == 20时,您需要做的就是return false
以终止每个。
$.each(data.People, function (i, person) {
if (i == 20) { return false; }
html.push("<img title='" + person.Name + "' height='45' width='45' src='" + person.Picture + "' /> ");
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.