每第 5 个循环就中断一次循环

发布于 2024-12-03 06:39:57 字数 764 浏览 0 评论 0原文

我想为每 5 个循环添加一段简单的代码到我的 HTML(列表项)中。

这是我的代码:

 if (jsonData != null && jsonData.length > 0){
     for (i=0;i<jsonData.length;i++){
         if( jsonData[i].name.length > 15 ) 
                 cname = jsonData[i].name.substr(0,15);
         else cname = jsonData[i].name ;
         resHTML += '<li><a title="'+ jsonData[i].name +'" href="'+ jsonData[i].link +'"><img width="137" height="175" alt="'+ jsonData[i].name +'" src="'+ jsonData[i].img +'"></a><br><a href="'+ jsonData[i].link +'">'+ cname +'</a></li>' ;

     }
 }

因此,对于每 5 个循环,

  • 将变为
  • 谁能告诉我怎么办?

    谢谢

    I'd like to add a simple bit of code to my HTML (the list item) for every 5th loop.

    Here is my code:

     if (jsonData != null && jsonData.length > 0){
         for (i=0;i<jsonData.length;i++){
             if( jsonData[i].name.length > 15 ) 
                     cname = jsonData[i].name.substr(0,15);
             else cname = jsonData[i].name ;
             resHTML += '<li><a title="'+ jsonData[i].name +'" href="'+ jsonData[i].link +'"><img width="137" height="175" alt="'+ jsonData[i].name +'" src="'+ jsonData[i].img +'"></a><br><a href="'+ jsonData[i].link +'">'+ cname +'</a></li>' ;
    
         }
     }
    

    So for every 5th loop, the <li> would become <li style="margin-right:0">

    Can anyone show me how to do this?

    Thank you

    如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

    扫码二维码加入Web技术交流群

    发布评论

    需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

    评论(5

    原谅我要高飞 2024-12-10 06:39:57
    if ((i % 5) == 0)
      // add your margin stuff
    

    基本上,每 5 次迭代,模数(i 除以 5 的余数)将为 0

    if ((i % 5) == 0)
      // add your margin stuff
    

    Basically, the modulus (the remainder of i divided by 5) will be 0 every 5 iteration

    纵情客 2024-12-10 06:39:57

    您不需要使用 JavaScript 来处理这个问题。

    使用这个简单的 CSS:

    li + li {
        margin-left: 20px;
    }
    

    这会将 margin-left 应用于除第一个 li 之外的所有内容,这应该与应用 margin-right 相同除了最后一个li之外的所有内容。

    +相邻同级选择器

    You don't need to handle this with JavaScript.

    Use this simple CSS:

    li + li {
        margin-left: 20px;
    }
    

    That will apply margin-left to all except the first li, which should be the same as applying margin-right to all but the last li.

    + is the adjacent sibling selector.

    装纯掩盖桑 2024-12-10 06:39:57

    一种可能是测试 i % 5 == 0 是否会在循环的每 5 次迭代中评估为 true。

    代码:

    for(i = 0; i < n; i++)
    {
        if(!(i % 5))
        {
            //every fifth iteration!
        }
    }
    

    one possibility would be to test if i % 5 == 0 this will evaluate to true every 5 iterations of the loop.

    code:

    for(i = 0; i < n; i++)
    {
        if(!(i % 5))
        {
            //every fifth iteration!
        }
    }
    
    迷路的信 2024-12-10 06:39:57

    我会..设置 for(i = 1; i <= jsonData.length; i++)

    然后执行:

    if((i % 5) == 0) { // margin code }

    I would.. set for(i = 1; i <= jsonData.length; i++)

    Then do:

    if((i % 5) == 0) { // margin code }

    请恋爱 2024-12-10 06:39:57
    if((i%5)==0)
       resHTML += "<li style=\"margin-right:0\">"
    else
       restHTML += "<li>"
    restHTML += "<add all other stuff after li >"
    
    if((i%5)==0)
       resHTML += "<li style=\"margin-right:0\">"
    else
       restHTML += "<li>"
    restHTML += "<add all other stuff after li >"
    
    ~没有更多了~
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文