使用特定颜色的li元素进行绘制
Paint with a color specific li elements
我有这个html结构:
<ul>
<li></li>
<li></li>
<li></li>
...
</ul>
我需要按照以下顺序将li元素涂成红色。
第一、第三、第七、第十一等
请记住,li元素是动态生成的。
等待更多信息,如果您需要绘制第一个元素,然后绘制每个4n-1
元素,只需使用psuedoclasses:
li:first, li:nth-child(4n-1) {
color: ...
}
需要注意的是,这些psuedoclasses在旧的IE浏览器上不起作用,因此,如果您还需要为IE7设计一些特定的列表项的样式,请考虑在服务器端生成标记时输出一些类(或通过jQuery将样式应用于元素)
这应该适用于选择奇数元素
$("li:odd").css("color", "#F00");
有关JQuery奇数选择器的更多信息,请参阅此处
你可以在这里查看一个工作示例
我好像看错了你最初的顺序。。。
您可以在这里查看其他JQuery选择器,它们有助于序列匹配。
一些与您的序列匹配的示例代码可能是…
$("li:first").css("color", "#F00");
$("li:nth-child(4n-1)").css("color", "#F00");
参见此处的示例
我相信这会的。
<script>$("ul li:first, ul li:nth-child(4n-1)").css({'color':'red'});</script>
使用jQuery,您不必担心IE,它可以跨浏览器工作。
您可以使用CSS子选择器。
在UL标签上放置样式li:nth child(奇数){color:red;}。
http://www.w3.org/TR/css3-selectors/#nth-子伪
使用此$("li:odd").css("color", "red");
在生成列表时,可以添加一个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>
我刚刚看到你用jquery和javascript标记了这个问题,你应该先查看jquery文档,一般来说,在寻求帮助之前,先查看GOOGLE IT。
http://api.jquery.com/category/selectors/
我仍然会使用生成列表的服务器端语言。
- Html画布绘制速度因画布元素过多而减慢
- 画布-绘制的线,但没有显示在谷歌检查元素
- 在元素上绘制边框,但不捕获事件
- 如何在画布元素上绘制视频
- 绘制DOM元素:鼠标事件会被背景元素混淆
- 未捕获的类型错误:对象#<HTML对象元素>没有方法'重新绘制工作流'
- 使用javascript绘制多个以数组元素为文本中心的圆
- 是否可以指示浏览器首先绘制页面的哪些元素
- 如何在正确的位置绘制画布元素
- 如何确定浏览器何时完成绘制插入的元素
- 在画布元素上动态绘制
- 如何在拉斐尔中获取绘制的矩形元素
- 如何在带有触摸的PhoneGap中的画布元素上绘制
- 为什么ctx.drawImage只将视频元素的一部分绘制到画布上
- 在重新排序DOM时,如何重新绘制和重新组织同位素容器中的元素
- Javascript 将动态图像从 URL 绘制到画布元素上
- 为什么画布绘制图像在使用 dom 图像元素时不起作用
- 使用数据表(Meteor Tabular)在新行中绘制数组的每个元素
- 如何绘制多条线,数组的每个元素一条线包含vega规范数据中的y值
- SVG:在子元素内部绘制