Javascript 使用特定于颜色的元素绘制
我有这个html结构: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选择器来帮助
<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。