繁体   English   中英

打破.each()jquery语句的最佳方法是什么?

[英]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的循环,就像breakfor纯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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM