Javascript 使用特定于颜色的元素绘制

Javascript 使用特定于颜色的元素绘制,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有这个html结构: <ul> <li></li> <li></li> <li></li> ... </ul> ... 我需要按照以下顺序绘制红色的li元素 第一、第三、第七、第十一等 请记住,li元素是动态生成的。这应该适用于选择奇数元素 $("li:odd").css("color", "#F00"); 因为我似乎误读了你最初的顺序 您还可以使用其他JQuery选择器来帮助

我有这个html结构:

<ul>
<li></li>
<li></li>
<li></li>
...
</ul>
  • ...
我需要按照以下顺序绘制红色的li元素

第一、第三、第七、第十一等


请记住,li元素是动态生成的。

这应该适用于选择奇数元素

$("li:odd").css("color", "#F00");


因为我似乎误读了你最初的顺序

您还可以使用其他JQuery选择器来帮助进行序列匹配

与序列匹配的一些示例代码可能是

$("li:first").css("color", "#F00");
$("li:nth-child(4n-1)").css("color", "#F00");​

这适用于选择奇数元素

$("li:odd").css("color", "#F00");


因为我似乎误读了你最初的顺序

您还可以使用其他JQuery选择器来帮助进行序列匹配

与序列匹配的一些示例代码可能是

$("li:first").css("color", "#F00");
$("li:nth-child(4n-1)").css("color", "#F00");​

您可以使用CSS子选择器

在UL标签上放置一个样式li:nth child(奇数){color:red;}


您可以使用CSS子选择器

在UL标签上放置一个样式li:nth child(奇数){color:red;}

等待更多信息,如果需要绘制第一个元素,然后绘制每个
4n-1
th元素,只需使用psuedoclasses:

li:first, li:nth-child(4n-1) { 
   color: ... 
}

作为旁注,这些pUID类在旧的IE浏览器上不工作,所以如果您还需要为IE7设计一些特定的列表项,考虑在服务器端生成标记时输出一些类(或者通过jQuery应用到元素)

等待进一步的信息,如果需要绘制第一个元素,然后绘制每个

4n-1
th元素,只需使用psuedoclasses:

li:first, li:nth-child(4n-1) { 
   color: ... 
}

作为旁注,这些pUID类在旧的IE浏览器上不工作,因此如果您还需要为IE7设置一些特定的列表项,考虑在服务器端生成标记时输出一些类(或者通过jQuery应用到元素)

使用此

$(“li:odd”).css(“颜色”、“红色”)

使用此
$(“li:odd”).css(“颜色”、“红色”)

您可以添加一个HTML类,以便在生成列表时区分偶数项和奇数项。然后就可以很容易地根据元素的顺序位置将不同的CSS规则应用于元素

我将编写一个非常通用的PHP代码,假设您从一个名为$list的数组生成列表:

<ul>
<?php
for( $j=1; $j <= count( $list ); $j++ ):

    if( ( $j % 2 ) == 0 )
    {
        $class = 'even'
    }
    else
    {
        $class = 'odd'
    }
?>
    <li class="<?php echo $class;?>"><?php echo $list[$j-1];?></li>
<?php endfor;?>
</ul>

    您可以添加一个HTML类,以便在生成列表时区分偶数项和奇数项。然后就可以很容易地根据元素的顺序位置将不同的CSS规则应用于元素

    我将编写一个非常通用的PHP代码,假设您从一个名为$list的数组生成列表:

    <ul>
    <?php
    for( $j=1; $j <= count( $list ); $j++ ):
    
        if( ( $j % 2 ) == 0 )
        {
            $class = 'even'
        }
        else
        {
            $class = 'odd'
        }
    ?>
        <li class="<?php echo $class;?>"><?php echo $list[$j-1];?></li>
    <?php endfor;?>
    </ul>
    
      我相信这就行了

      <script>$("ul li:first, ul li:nth-child(4n-1)").css({'color':'red'});</script>
      
      $(“ulli:first,ulli:nth child(4n-1)”).css({'color':'red'});
      
      使用jQuery,您不必担心IE,它可以跨浏览器工作。

      我相信这可以

      <script>$("ul li:first, ul li:nth-child(4n-1)").css({'color':'red'});</script>
      
      $(“ulli:first,ulli:nth child(4n-1)”).css({'color':'red'});
      


      使用jQuery,您不必担心IE,它可以跨浏览器工作。

      对不起,确切的顺序规则是什么?您需要给第一个元素上色,然后给每个
      4n-1
      元素上色?etc部分不清楚。。。你能更新你的问题吗?1,3,7,11不是一个数学序列。你确定这些数字是正确的吗?序列代表什么,对我来说没有任何意义:7可能的重复。你能更具体地描述一下你试图产生的序列吗?你跳过了五个。对不起,确切的顺序规则是什么?您需要给第一个元素上色,然后给每个
      4n-1
      元素上色?etc部分不清楚。。。你能更新你的问题吗?1,3,7,11不是一个数学序列。你确定这些数字是正确的吗?序列代表什么,对我来说没有任何意义:7可能的重复。你能更具体地描述一下你试图产生的序列吗?佐尔坦托斯:是的,我似乎误读了那部分。也许是操作错误,让我们拭目以待:)他的顺序是strange@ZoltanToth:是的,我好像看错了那部分。也许在操作输入错误上,让我们拭目以待:)他的顺序很奇怪,如果在运行此代码后将任何元素添加到列表中,这将不起作用。请记住,li元素是动态生成的。我可以问@paokg4为什么这个答案在表述错误(比如
      $('li:eq(2)
      )时被接受,以及之前有几个正确的答案(我的和@musefan)被接受吗?“谢谢你,”法布里齐奥·卡尔德兰说。谢谢你的回答。这个答案被接受,因为我只粘贴了这一行$(“ulli:first,ulli:nth child(4n-1)”).css({'color':'red'});而且它工作正常,而且它的跨浏览器。@Esailija,很明显我的代码工作正常。这取决于何时执行代码。您可以在ajax调用后执行它,也可以在文档就绪时执行它。还有它的跨浏览器。我认为这是一个例子。是的,您谈到(2n)…,我刚刚用4n-1替换了2n。如果在运行此代码后将任何元素添加到列表中,这将不起作用。请记住,li元素是动态生成的。我可以问@paokg4为什么这个答案在表述错误(比如
      $('li:eq(2)
      )时被接受,以及之前有几个正确的答案(我的和@musefan)被接受吗?“谢谢你,”法布里齐奥·卡尔德兰说。谢谢你的回答。这个答案被接受,因为我只粘贴了这一行$(“ulli:first,ulli:nth child(4n-1)”).css({'color':'red'});而且它工作正常,而且它的跨浏览器。@Esailija,很明显我的代码工作正常。这取决于何时执行代码。您可以在ajax调用后执行它,也可以在文档就绪时执行它。还有它的跨浏览器。我认为这是一个例子。是的,你们说的是(2n)…,我刚刚用4n-1替换了2n。