如何将类添加到<;李>;由PHP使用jQuery生成?

如何将类添加到<;李>;由PHP使用jQuery生成?,php,jquery,html,css,Php,Jquery,Html,Css,我有一些PHP生成的。我希望每一行只显示4个,并且该行中的最后一个具有一个noMarginRight类 <ul> <li>sample</li> <li>sample</li> <li>sample</li> <li>sample here</li> <li>sample</li> <li>sample</li>

我有一些PHP生成的
  • 。我希望每一行只显示4个
  • ,并且该行中的最后一个
  • 具有一个
    noMarginRight

    <ul>
      <li>sample</li>
      <li>sample</li>
      <li>sample</li>
      <li>sample here</li>
    
      <li>sample</li>
      <li>sample</li>
      <li>sample</li>
      <li>sample here</li>
    
      <li>sample</li>
      <li>sample</li>
      <li>sample</li>
      <li>sample here</li>
    </ul>
    
    • 样品
    • 样品
    • 样品
    • 样品在这里
    • 样品
    • 样品
    • 样品
    • 样品在这里
    • 样品
    • 样品
    • 样品
    • 样品在这里
    希望这有意义。

    您可以使用

    演示:

    如果您确定行数始终是4的倍数,则

    $('ul li:nth-child(4n)').addClass('noMarginRight')
    

    演示:

    我明白了你想要做的,你希望每四个
    li
    都没有
    右边距
    ,因此不需要分配任何
    ,你可以使用纯CSS实现这一点,因为你已经为CSS标记了问题

    ul li:nth-child(4n) {
       margin-right: 0;
    }
    
    (使用
    color
    属性显示选择器的工作方式)


    margin
    等效演示)

    您可以通过PHP代码进行管理,请尝试这种方式

         <ul>
        <?php
        $result = array("ads", "sdsa", "fsdfs", "fsdfsfsdf", "ffsfsf");
        $i = 0;
        foreach ($result as $k => $v) {
            ?>
            <li <?php echo (++$i % 4 == 0) ? "class=\"noMarginRight\"" : "" ?>><?php echo $v; ?></li>
    <?php } ?>
    </ul>
    

    您可以对每行的最后一个li应用相同的名称属性,然后使用$(“基于名称的li选择器”).addClass(“myClass yourClass”)


    例如:$($li[name='last'])。addClass(“noMarginRight”)

    既然您提到使用php显示输出,下面是一种使用php的方法

        $counter    = 0;   
    
        while ($line = mysql_fetch_object($result)) 
        { 
    
                  if($counter %4 != 0) 
                    {
    
                        echo "<li  class='noMarginRight'>";
                        echo "your output";
                        echo '</li>';
    
                    }
                    else
                    {
                        echo "<li>";
                        echo "your output";
                        echo '</li>';
                    }
    
       }
    
    }
    
    $counter=0;
    而($line=mysql\u fetch\u object($result))
    { 
    如果($counter%4!=0)
    {
    回声“
  • ”; 回应“你的输出”; 回音“
  • ”; } 其他的 { 回声“
  • ”; 回应“你的输出”; 回音“
  • ”; } } }
    CSS-Only方法 为了完整起见,这里提供了一种纯粹的CSS3方式来实现您想要实现的目标:

    ul
    {
    -moz列计数:4;/*Firefox*/
    -webkit列计数:4;/*Safari和Chrome*/
    列数:4;
    -moz列间距:30px;/*Firefox*/
    -webkit列间距:30px;/*Safari和Chrome*/
    柱间距:30px;
    列表样式:无;
    保证金:0;
    填充:0;
    }
    • 样品
    • 样品
    • 样品
    • 样品在这里
    • 样品
    • 样品
    • 样品
    • 样品在这里
    • 样品
    • 样品
    • 样品
    • 样品在这里

    为什么PHP不这样做?@Chris,我不得不编辑你的编辑,删除你添加的额外“谢谢”。虽然在现实生活中非常有用,但这种友好的玩笑不适合添加到本网站的问题或答案中。。。特别是当它们不是您的时,请在以后的编辑中避免这样做。
        $counter    = 0;   
    
        while ($line = mysql_fetch_object($result)) 
        { 
    
                  if($counter %4 != 0) 
                    {
    
                        echo "<li  class='noMarginRight'>";
                        echo "your output";
                        echo '</li>';
    
                    }
                    else
                    {
                        echo "<li>";
                        echo "your output";
                        echo '</li>';
                    }
    
       }
    
    }